Multiple Values в Hide Formula

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

  1. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Господа «собаковеды», подскажите, могу ли я в формуле видимости элемента формы получить значение одного из элементов многозначного поля текущего документа? И если могу, то как?
     
  2. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    по индексу начиная с R6
    Код (Text):
    Fld_Name[2]
    а можно и олдскульно:
    Код (Text):
    @Subset(@Subset(Fld_Name; 2); -1)
     
  3. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    помоему на мультивалью чаще всего пишут @IsMember(...
    и это правильно
     
  4. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Хераса я тупарь, надо учить сабак...
    Omh
    Про индекс то что надо. Спасибо.
    ToxaRat
    @IsMember не то, мне надо было не проверить наличие значения в списке, а узнать значение конкретного элемента, но за участие спасибо... :google:
     
  5. Klido

    Klido Гость

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

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    alik86
    для формулы скрытия?
    а ну ка приведите кодик, уверен что можно упростить
    иногда операциями имплода+реплейса+трима можно добиться на порядок качественнее результат :google:
     
  7. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Да я и сам уверен, что можно упростить и добиться более качественного результата, но как-то пока знаний и опыта мне не достает…  А ввиду того, что лучшая учеба – это практика (тем более, как-то не очень встречал в Минске курсы по разработке), то я и пишу всякие шняжки с целью наработки навыков…
    Вот и сейчас решил написать приложение для тестирования персонала (может когда и пригодится). Так вот, на форме имеется поле Ansvers, с количеством элементов, равным количеству вопросов в билете, и каждый элемент принимает определенное значение в зависимости от ответа экзаменуемого на соответствующий вопрос(«0» – еще не отвечал/пропустил, «1» – ответил верно, «2» – не верно).
    Теперь я хочу отображать на форме его текущие результаты (строка с номерами вопросов, окрашенными в разный цвет в зависимости от значения Ansvers – в перспективе эти циферки думаю заменить картинками).
    Для этого сделал макет
    1 2 3 4 5
    1 2 3 4 5
    1 2 3 4 5
    В котором и прописываю формулы видимости.
    Пример для вопроса №5:
    5 - @Elements(Ansvers) <5 | Ansvers[5] != "0"
    5 - @Elements(Ansvers) <5 | Ansvers[5] != "1"
    5 - @Elements(Ansvers) <5 | Ansvers[5] != "2"

    Как то так :google:
     
  8. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    alik86
    нда, в такой ситуации уж лучше скриптом :(
     
  9. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Скриптом - это конечно хорошо (из двух зол он мне больше нравится :()...
    Но не были бы Вы столь любезны дать более развернутый совет, как мне реализовать то что я хочу?
    Т.е. ситуация следующая: в билете допустим 5 вопросов, когда начинается тест, на форме отображается строка: 1 2 3 4 5.
    Пользователь начал выполнять тест и по ходу выполнения на 1-й вопрос ответил верно, 2-й пропустил, на 3-й ответил не верно, на 4-й верно, счас думает над 5-м... Теперь он должен видеть строку 1 2 3 4 5
    Как это можно реализовать не макетом? Тем более с перспективой вместо простых циферек отображать картинки.
     
  10. PaVaP

    PaVaP Member

    Регистрация:
    25 июн 2009
    Сообщения:
    23
    Симпатии:
    0
    Может подойдет Programmable tables. В ячейках (строках) таблицы могут быть картинки и будут отображаться в зависимости от значения поля...
     
  11. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Мысль понятна, но что-то мне подсказывает, что это те же яйца - вид сбоку. :)
    Попробуем.
     
  12. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    Тоха, ты обещал оптимизацию! давай код! чего сливаешь? ))
     
  13. Klido

    Klido Гость

    а можно чуть подробнее про идею и реализацию? Есть билет и в нем 5 вопросов или вопросы идут сплошняком, или вопрос и 5 вариантов ответа? Какова процедура выполнения теста - вопросы подряд или как написано "пропустил и может вернуться"?

    Пример:
    по кнопке "начать тест" юзеру создаётся док билета и к нему 5 вопросов (как создаются -справочники и пр. - пока около), конкретно все документы - для этого юзера. В форме основного билета вопросы показаны во внедренной вьюшке. По даблклику на вопросе открывается диаложек с полным текстом вопроса и полем,чекбоксом,радиобаттоном для ответа. Всегда можно ответить в любой момент времени на любой вопрос, можно пропустить, можно поменять. На основной форме билета кнопка "завершить тест".
    На контроле всегда видны всякие фильтрованные списки по билетам/ответам/людям. Ну и всё. Как бы не видно где заморачиваться с массивами...
     
  14. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Реализация еще только начинается, идеи приходят походу. :)
    Пока надумал следующего.
    Имеется справочник вопросов, состоящий из документов с вопросом и вариантами ответов (с отмеченным правильным) – количество вариантов в принципе любое (хранится в Radio buttonе).
    В док билета при начале тестирования выбираются вопросы из справочника (будет писаться еще некая процедура автоматического рандомного выбора, но это потом) и в одном из полей сохраняются UNIDы выбранных документов-вопросов из справочника. В билете отображается одновременно один вопрос (вопрос и варианты ответов берутся из соотв. дока-вопроса, который я и получаю по UNIDу). Вопрос отображается в текстовом поле, варианты ответов в Radio buttone. Ответ, данный пользователем, сравнивается с отмеченным верным ответом в доке-вопросе и выдает результат, записывая его в поле Ansvers, про которое я уже писал («0» – еще не отвечал/пропустил, «1» – ответил верно, «2» – не верно).
    Вопрос можно пропустить, а позже вернуться к нему, либо ответить на него. На форме есть кнопка «Пропустить» чтобы пропустить текущий вопрос и перейти к следующему неотвеченному и кнопка «Далее» чтобы ответить на текущий вопрос и перейти к следующему неотвеченному. Имеется поле, в котором хранится номер текущего вопроса (т.е. № элемента из поля с UNIDами)…
     
  15. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    да ну ребят чтобы или очень сильно усложняете или пытаетесь пойти на принцып и решить это чисто собаками
    хотя тут можно по разному
    но на мой взгляд правильнее решать эту задачу несколько иначе
    обойтись вообще БЕЗ скрытия
    в нужный местах поставить компутед поля
    при действиях типа выхода из поля, рефреше и нажатию на линк типа "->" след. вопрос скриптом отрабатывать код и менять компутед поля на след. номер вопроса и сам вопрос, тогда и хайдить ничего не нужно и всё красиво и динамично будет.
     
  16. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    У меня имеется компутед поле с текущим № вопроса, которое действительно обрабатывается при нажатии на линк типа "->" скриптом, и меняет на след вопрос, да и собаками я пользуюсь крайне редко. Но я же объяснял, что хочу отображать номера ВСЕХ вопросов, причем окрашивать их в разный цвет в зависимости от того какой ответ был дан на конкретный вопрос. Пока вроде все красиво и динамично выходит по первоначальной схеме. :)
    P.S. Я не силен в вопросах производительности, но что-то мне подсказывает, что простые циферки с хайдами на форме с потянут меньше ресурса, чем компутедполя...
     
  17. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    alik86
    по-моему скромному мнению Klido предлагает хороший вариант, плюс в том же внедренном виде можно все разными цветами отображать :)
     
  18. Klido

    Klido Гость

    ну от задачи зависит, просто как-то делали приложение конструктор опросов - по сути то самое, что и требуется и даже более того - любой юзер может сгенерить свой опрос (достаточно сложный, как с вариантами, так и со свободным вводом и пр.) - специально для анкетирования и проверок сотрудников... Не было необходимости показывать правильность ответа - это и так было очевидно контролерам по факту сбора этих ответов :)
     
  19. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    хе, и я там был ;)
    у нас правильность ответов проверялась опосля опроса менеджером, вернее, менеджер приводил в действие механизьм проверки.
    самое сложное при этом было написать как же это все проверять :) т.к. заказчик сам решения не предложил, мы придумывали сами.
    я уже точно не помню, но там какая-то бальная система у нас была - на каждый вопрос свое кол-во балов было, короче мутно было.
    но работало :)
     
  20. alik86

    alik86 Lotus team
    Lotus team

    Регистрация:
    20 ноя 2008
    Сообщения:
    465
    Симпатии:
    0
    Оёёй, в какие дебри Вы меня затягиваете... ;)

    Боюсь, что пользователь будет ныть по поводу большого количества действий, которые ему придется сделать: это и выбрать вопрос (я думаю что их всё же будет не 5), и сделать даблклик, и испугаться появившемуся диаложеку, после понять что за он, ответить на вопрос нажать ОК и т.п - насчитывается много телодвижений. Я же думаю дать пользователю шчасце нажимать только на одну кнопку в одной форме и при этом видеть каково состояние его дел. Хочу сделать подобие программы сдачи правил в ГАИ Беларуси (правда не знаю что стражи дорог предлагают в "братских" :) республиках).

    Скажите мне, имеет ли право на жизнь мой вариант или это "быдлорешение" не имеющее права на то чтобы быть реализованным в Лотусе?.. :)
     
Загрузка...

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