И Опять Про Show Single Category

Тема в разделе "Lotus - Программирование", создана пользователем vitte, 21 июл 2012.

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

    vitte Well-Known Member

    Регистрация:
    17 ноя 2011
    Сообщения:
    55
    Симпатии:
    0
    Полазил по форуму но не нашел нужной инфы, может кто направит в нужную сторону.
    Есть embedded view с show single category. Есть набор документов с категоризированым полем.
    В поле строки типа :
    "АА"
    "ББ"
    "ААББ"
    "ББАА"
    "ААББСС"
    "ББААСС"
    При задании в show single category значения "АА", по идее, должны показыватся документы АА, ААББ, ААББСС. Но этображаются не все эти доки, а только часть.
    Мне не ясен алгоритм отбора доков. И вроде метасимволы замены тоже не воспринимает.
    Где про это почитать можно?
     
  2. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    Нигде не надо читать. Эта опция работает только по чёткому соответствию.
    Вот если бы поле включало несколько значений, то и отображался бы док в разных категориях. Ну или через разделитель если хранится, - можно разбить формулой в колонке поля.
     
  3. vitte

    vitte Well-Known Member

    Регистрация:
    17 ноя 2011
    Сообщения:
    55
    Симпатии:
    0
    про четкое соответствие, несколько не так, насколько позволяет мне понять мой английский: http://www-01.ibm.com/support/docview.wss?uid=swg21108324
    Через разделитель, т.е привести к виду АА-ББ-СС?
     
  4. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Насколько мне позволяет мне мой английский :mellow:, всё так:
    если формула Show single category содержит AB, то возвращается ПЕРВАЯ непустая категория, начинающаяся на AB (но не все категории на AB). Как правило требуется, чтобы при отсутствии категории не возвращалось ничего, для этого рекомендуется добавлять в конце названия категории "терминатора" (в примере по ссылке это знак доллара, я обычно добавляю неразрывный пробел Chr(160)).
    АА\ББ\СС
     
  5. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    vitte, nvy
    Вопрос тут в том, разбираться с баго-фичами или сделать так, чтобы работало всегда, независимо от баго-фич.
    Если обеспечивать обязательность вхождений в других документах, то таких ситуаций никогда не возникнет. Заполняю эти вхождения сразу же, при создании документов (которые потом будут отбираться по "Show Single Category") либо использую этот механизм для отбора по имени пользователя в системе. Т.е. вхождения - более-менее статичные данные, тогда вопросов по работе "Show Single Category" не возникает.

    vitte
    Отдельные значения в поле:
    "АА"
    "ББ"
    Если то же самое вручную в колонке: "АА":"ББ".
    Если всё-же в поле содержится строка, а не список, то в колонке разбить по разделителю: @Explode(itemName; sep).

    nvy
    > АА\ББ\СС
    Не знаю, как подействует такая "искусственная категоризация" на "Show Single Category" (на getAllDocumentsByKey и т.п. плохо действует), потому такое в этом случае предпочитаю не использовать.
     
  6. vitte

    vitte Well-Known Member

    Регистрация:
    17 ноя 2011
    Сообщения:
    55
    Симпатии:
    0
    ага с ангийским ошибся.

    привел к такому виду, теперь другая засада - отображает все категории которые ниже АА, даже если в Show Single стоит АА\ББ (т.е там и АА\СС.. и АА\АА). Буду пытать другие методы
     
  7. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    VladSh
    Имелась ввиду ситуация, когда категория пуста, то есть соответствующих дочерних документов в БД ещё нет. Когда отбор идёт по unid, подобных проблем не возникает, но если название пустой категории соответсвует началу другой категории, Show single category глючит вышеописанным образом.
     
  8. vitte

    vitte Well-Known Member

    Регистрация:
    17 ноя 2011
    Сообщения:
    55
    Симпатии:
    0
    Не совсем понимаю . Есть документ, у него поле категоризации К, в это поле вносить значения К(0)="АА", К(1)="ББ" и тд. Затем в Show single указать в качестве критерия список "АА":"ББ". Так?
     
  9. nvyush

    nvyush Lotus team
    Lotus team

    Регистрация:
    22 апр 2009
    Сообщения:
    2.317
    Симпатии:
    0
    Обратный слэш используется для разбивки на подкатегории, т.е. АА\ББ\ВВ отображается в представлении как
    >AA
    ..>ББ
    ....>ВВ
    Show single category отбирает только верхний уровень, т.е. в данном случае АА. Single по-английски означает один, единственный, соответственно отбираются документы только одной категории. Никакие метасимволы, частичное совпадение здесь не работают.

    Добавлено:
    Нет.
    Если у Вас есть документы "АА":"ББ" и "ББ":"СС", то когда нужно отобрать только первые, подставляете "АА", когда только вторые — "СС", когда и те и те — "ББ".
     
  10. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    nvy
    А, это наверное "мой" баг, когда при создании нового дока вьюха отображала какую-то ерунду, так она отображала доки от пустой категории.
    Это я решил заданием в формуле Show Single Category, если док новый, "несуществующего" во вхождениях символа (пока пробела хватало).
    В тех случаях, когда данных ещё нет (т.е. что-то типа динамики), эту штуку обходил тем, что просто прописывал UNID или @Unique(), это и уникально и избавляемся от пустых категорий. Но потом вообще ушёл от таких ситуаций (больше не проектирую так приложения).

    Иногда, если допускается, скрываю внедрённое представление если док новый. Но пробел в формуле гораздо проще))

    vitte
    Это верно.
    А дальше nvy ответил - в Show Single Category указываем отбираемое значение, например "АА" или "ББ" или ...

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

    Добавлено:
    Это то, что я выше говорил, - лучше не использовать псевдокатегоризацию для сабжа, т.к. будет глючить. Он будет хорошо работать, если давать ему только фразы с точным совпадением или самому обеспечивать точное совпадение.
     
  11. vitte

    vitte Well-Known Member

    Регистрация:
    17 ноя 2011
    Сообщения:
    55
    Симпатии:
    0
    Такой вариант работает. спасибо
     
Загрузка...
Похожие Темы - Опять Про Show
  1. Renat11111
    Ответов:
    8
    Просмотров:
    3.699
  2. sanch
    Ответов:
    7
    Просмотров:
    3.923
  3. makaset
    Ответов:
    26
    Просмотров:
    8.634
  4. Баламут
    Ответов:
    19
    Просмотров:
    6.079
  5. sanch
    Ответов:
    5
    Просмотров:
    3.082
Статус темы:
Закрыта.

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