Категоризированные представления

Тема в разделе "Lotus - Программирование", создана пользователем Azazel, 28 мар 2007.

  1. Azazel

    Azazel Гость

    Здравствуйте. Наверно, у меня глупый вопрос, но все же если кто поможет, буду признателен.
    Вопрос: Как в категоризированное представление добавить документ именно в какую-либо категорию?
    Я много времени потратил на поиски в интернете, но то ли не то ищу, то ли информации мало. Если у кого-нибудь есть простейший пример, то я бы с удовольствием изучил его. Примеров найти тоже не удалось толком :-(
     
  2. morpheus

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

    Регистрация:
    7 авг 2006
    Сообщения:
    3.927
    Симпатии:
    0
    Для: Azazel
    Категория в представлении строиться на соновании какого либо значения в докменте, соответственно Вам надо в документе в нужном поле указать тоже значение которое Вам надо( тоесть ту категорию в которую должен попасть документ )
     
  3. oshmianski

    oshmianski Гость

    Для: Azazel
    а каким образом хотите создать документ? может Formulas inherit values from selected document подойдет?
     
  4. Azazel

    Azazel Гость

    Мне трудновато пока ориентироваться в Лотусе. У меня есть форма, которая типа "документ", которая заполняется пользователем и должна попасть в выделенную в данный момент категорию. Но по-моему, я плохо представляю как это должно произойти. При создании документа по форме он попадает в категорию "Вне категорий". В этом и состоит моя проблема. Но все равно спасибо за отклик.

    Совет помог, я добавил поле в создаваемый документ по названию категории, и теперь документ попадает куда надо. Вот только как автоматически заполнять это поле - чтобы туда попадало название выделенной категории?
     
  5. LIGHT

    LIGHT Гость

    Все просто!

    Делаеш в форме дока поля которые будут использоватся для катигоризации

    Например: MyPole - которое заполняется значением (как вариант с клавиатуры)

    Теперь возьмен создадим по этой форме документы

    Где в поле MyPole напишим:

    1. документ : Мое значение1
    2. документ : Мое значение2
    3. документ : Мое значение4
    4. документ : Мое значение2
    и далее по аналогии сколько угодно

    Дальше во вьюхе делаеш колонку, в которую будет выводится значене MyPole в свойствах колонки указываеш - категория (это в свойствах колонки вторая вкладка Type - Categories
    Все
     
  6. RAJ

    RAJ Well-Known Member

    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    Текущую категорию можно получить через NotesUIView.CaretCategory,
    и поместить это значение в поле нового документа, которое категоризируется в представлении
    Код (Text):
    Sub Click(Source As Button)
    Dim workspace As New NotesUIWorkspace
    Dim view As NotesUIView
    Dim category As Variant
    Set view = workspace.CurrentView
    category = view.CaretCategory
    Messagebox category
    End Sub
     
  7. Azazel

    Azazel Гость

    Сделал кнопку, куда вставил данный фрагмент кода. При нажатии я так понимаю должна выводится текущяя категория, к которой относится документ. Вот только по моему документ не считается выделенным, так как я получаю сообщение Object variable not set.
    вот прилагаю скриншот, чтобы желающие оценили степень моей безграмотности :)
    [​IMG]
     
  8. Azazel

    Azazel Гость

    Если подскажете в чем я ошибаюсь, буду очень признателен.
     
  9. RAJ

    RAJ Well-Known Member

    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    Подскажу.
    Дело в том, что кнопка должна располагаться в панели действий представления!!!
    Иначе теряется контекст при выполнении кода.
     
  10. Azazel

    Azazel Гость

    Спасибо! Долго думал как передать это значение в поле на форме, потом осилил. Что-то типа:

    Sub Click(Source As Button)
    Dim workspace As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    Dim view As NotesUIView
    Dim category As Variant

    Set view = workspace.CurrentView
    category = view.CaretCategory

    Set uidoc = workspace.ComposeDocument("", "" ,"addreport")
    Set doc = uidoc.Document
    doc.subject = category //// subject то поле, по которому происходит категоризирование
    End Sub

    Только вот поле передается если выделено именно сама категория, а не документ, относящийся к ней. В остальных случаях пишет Object variable not set в открытой форме addreport. Хотя при этом по нажатию кнопки ( там где был Messagebox category ) все работает - как при позиции каретки на названии категории, так и при позиции на любом документе, входящем в категорию. Извиняюсь за беспокойство, конечно, но если можете ответьте в чем дело.
     
  11. RAJ

    RAJ Well-Known Member

    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    попробуйте
    Код (Text):
    Call uidoc.FieldSetText("Subject", category)
     
  12. Azazel

    Azazel Гость

    Большое человеческое вам спасибо. Помогло. Правда пришлось сделать поля не вычисляемыми при создании как было изначально, а изменяемыми. А то выдавал ошибку о невозможности изменения данного поля.
     
Загрузка...

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