Multiple Values в Hide Formula

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
Беларусь, Мiнск
#1
Господа «собаковеды», подскажите, могу ли я в формуле видимости элемента формы получить значение одного из элементов многозначного поля текущего документа? И если могу, то как?
 

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
Беларусь, Мiнск
#4
Хераса я тупарь, надо учить сабак...
Omh
Про индекс то что надо. Спасибо.
ToxaRat
@IsMember не то, мне надо было не проверить наличие значения в списке, а узнать значение конкретного элемента, но за участие спасибо... :google:
 
K

Klido

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

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 203
24
38
Киев
ToxaRat.com
#6
alik86
а узнать значение конкретного элемента
для формулы скрытия?
а ну ка приведите кодик, уверен что можно упростить
иногда операциями имплода+реплейса+трима можно добиться на порядок качественнее результат :google:
 

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
Беларусь, Мiнск
#7
Да я и сам уверен, что можно упростить и добиться более качественного результата, но как-то пока знаний и опыта мне не достает…  А ввиду того, что лучшая учеба – это практика (тем более, как-то не очень встречал в Минске курсы по разработке), то я и пишу всякие шняжки с целью наработки навыков…
Вот и сейчас решил написать приложение для тестирования персонала (может когда и пригодится). Так вот, на форме имеется поле 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:
 

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
Беларусь, Мiнск
#9
Скриптом - это конечно хорошо (из двух зол он мне больше нравится :()...
Но не были бы Вы столь любезны дать более развернутый совет, как мне реализовать то что я хочу?
Т.е. ситуация следующая: в билете допустим 5 вопросов, когда начинается тест, на форме отображается строка: 1 2 3 4 5.
Пользователь начал выполнять тест и по ходу выполнения на 1-й вопрос ответил верно, 2-й пропустил, на 3-й ответил не верно, на 4-й верно, счас думает над 5-м... Теперь он должен видеть строку 1 2 3 4 5
Как это можно реализовать не макетом? Тем более с перспективой вместо простых циферек отображать картинки.
 

PaVaP

Member
25.06.2009
22
0
#10
Как это можно реализовать не макетом? Тем более с перспективой вместо простых циферек отображать картинки.
Может подойдет Programmable tables. В ячейках (строках) таблицы могут быть картинки и будут отображаться в зависимости от значения поля...
 
K

Klido

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

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

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
Беларусь, Мiнск
#14
Реализация еще только начинается, идеи приходят походу. :)
Пока надумал следующего.
Имеется справочник вопросов, состоящий из документов с вопросом и вариантами ответов (с отмеченным правильным) – количество вариантов в принципе любое (хранится в Radio buttonе).
В док билета при начале тестирования выбираются вопросы из справочника (будет писаться еще некая процедура автоматического рандомного выбора, но это потом) и в одном из полей сохраняются UNIDы выбранных документов-вопросов из справочника. В билете отображается одновременно один вопрос (вопрос и варианты ответов берутся из соотв. дока-вопроса, который я и получаю по UNIDу). Вопрос отображается в текстовом поле, варианты ответов в Radio buttone. Ответ, данный пользователем, сравнивается с отмеченным верным ответом в доке-вопросе и выдает результат, записывая его в поле Ansvers, про которое я уже писал («0» – еще не отвечал/пропустил, «1» – ответил верно, «2» – не верно).
Вопрос можно пропустить, а позже вернуться к нему, либо ответить на него. На форме есть кнопка «Пропустить» чтобы пропустить текущий вопрос и перейти к следующему неотвеченному и кнопка «Далее» чтобы ответить на текущий вопрос и перейти к следующему неотвеченному. Имеется поле, в котором хранится номер текущего вопроса (т.е. № элемента из поля с UNIDами)…
 

ToxaRat

Чёрный маг
Lotus team
06.11.2007
3 203
24
38
Киев
ToxaRat.com
#15
да ну ребят чтобы или очень сильно усложняете или пытаетесь пойти на принцып и решить это чисто собаками
хотя тут можно по разному
но на мой взгляд правильнее решать эту задачу несколько иначе
обойтись вообще БЕЗ скрытия
в нужный местах поставить компутед поля
при действиях типа выхода из поля, рефреше и нажатию на линк типа "->" след. вопрос скриптом отрабатывать код и менять компутед поля на след. номер вопроса и сам вопрос, тогда и хайдить ничего не нужно и всё красиво и динамично будет.
 

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
Беларусь, Мiнск
#16
У меня имеется компутед поле с текущим № вопроса, которое действительно обрабатывается при нажатии на линк типа "->" скриптом, и меняет на след вопрос, да и собаками я пользуюсь крайне редко. Но я же объяснял, что хочу отображать номера ВСЕХ вопросов, причем окрашивать их в разный цвет в зависимости от того какой ответ был дан на конкретный вопрос. Пока вроде все красиво и динамично выходит по первоначальной схеме. :)
P.S. Я не силен в вопросах производительности, но что-то мне подсказывает, что простые циферки с хайдами на форме с потянут меньше ресурса, чем компутедполя...
 

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
34
Kiev, Ukraine
#17
alik86
по-моему скромному мнению Klido предлагает хороший вариант, плюс в том же внедренном виде можно все разными цветами отображать :)
 
K

Klido

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

Akupaka

А че я?.. О.о
04.10.2007
3 360
2
34
Kiev, Ukraine
#19
просто как-то делали приложение конструктор опросов
хе, и я там был ;)
у нас правильность ответов проверялась опосля опроса менеджером, вернее, менеджер приводил в действие механизьм проверки.
самое сложное при этом было написать как же это все проверять :) т.к. заказчик сам решения не предложил, мы придумывали сами.
я уже точно не помню, но там какая-то бальная система у нас была - на каждый вопрос свое кол-во балов было, короче мутно было.
но работало :)
 

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
Беларусь, Мiнск
#20
Оёёй, в какие дебри Вы меня затягиваете... ;)

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

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