Отображение значения поля Checkbox

  • Автор темы Yukas
  • Дата начала
Статус
Закрыто для дальнейших ответов.
Y

Yukas

#1
Всем добрый день!

Простите за уж совсем простой вопрос... :)
Есть поле типа checkbox. Значения в нем, к примеру, такие:
арбуз|1
дыня|2
тыква|3
кабачок|4
Так вот при открытии формы на чтение это поле скрываю, а в <computed value> хочу отобразить это поле, но отображаются алиасы этого поля, а как мне вычислить текстовое значение на собаках?

Спасибо.
 

Omh

Lotus team
04.07.2007
2 210
1
#2
Ручками.
Автоматом из элиаса литерарное значение не получить.

-----------------------
Как варианты:
Можно, например делать рядом computed поле, которе будет вычислять значение по формуле.
Можно вычислять на уровне колонки view.

Можно сделать целую систему:
1. наверху (текстовое) поле (пусть будет Selections) вида
Код:
"Lit1|Alias1"
"Lit2|Alias2"
"Lit3|Alias3"
2. Видимое поле (checkbox) со значениями поля из Selections (тут будут алиасы)
3. Спрятаное поле, которое вычисляет литературные значения из 2-х вышеприведённых полей.

Достоинство такой системы в том, что вся выборка только в одном месте.
Но мне такая вещь кажется немного громоздкой.
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#3
Всем добрый день!

Простите за уж совсем простой вопрос... :)
Есть поле типа checkbox. Значения в нем, к примеру, такие:
арбуз|1
дыня|2
тыква|3
кабачок|4

Так вот при открытии формы на чтение отображаются алиасы этого поля,
а как мне вычислить текстовое значение на собаках?

Спасибо.
заведи эти значения в базу как какие-нить системные документики а потом выбирай через @DbColumn
 

TIA

:-)
Lotus team
15.05.2009
790
3
#4
Установите галку "Allow keyword synonims", тогда в режиме чтения будут отображаться текстовые значения. Но если варианты вычисляемые, то вычисляться они будут при каждом открытии документа.
 
Y

Yukas

#5
Так галка "Allow keyword synonims" стоит... А отобразить хочется именно рядом через computed tex
Была какая-то простая формула... но сейчас уже не помню, вот и ступор.
 

TIA

:-)
Lotus team
15.05.2009
790
3
#6
Так галка "Allow keyword synonims" стоит... А отобразить хочется именно рядом через computed tex
Была какая-то простая формула... но сейчас уже не помню, вот и ступор
Хитрец. Изначально так вопрос не стоял. Тогда используйте вариант Omh.
 

nvyush

Lotus team
22.04.2009
2 317
0
#7
Всем добрый день!

Простите за уж совсем простой вопрос... :)
Есть поле типа checkbox. Значения в нем, к примеру, такие:
арбуз|1
дыня|2
тыква|3
кабачок|4
Так вот при открытии формы на чтение это поле скрываю, а в <computed value> хочу отобразить это поле, но отображаются алиасы этого поля, а как мне вычислить текстовое значение на собаках?

Спасибо.
Создаем профильный документ, напр. SysProfile. В нём текстовое многозначное поле, напр. List1. В поле перечислены значения арбуз|1 и т.д. Создаём вычисляемое поле $List1 (для видов) с формулой:
FindList := @Implode(@Word(@GetField("List1"); "|"; 2); "\":\"");
ReplaceList := @Implode(@Word(@GetField("List1"); "|"; 1); "\":\"");
"@Replace(" + "List1" + "; \"" + FindList + "\";\"" + ReplaceList + "\");";

В форме документа для выбора значений в нужном поле указываем в качестве источника формулу @GetProfileField("SysProfile"; "List1"). (Как получить из списка нужные значения/алиасы не расписываю - на свой вкус).
В видах для нужного столбца на первой вкладке включаем галку User definable и указываем имя профиля SysProfile, на последней вкладке в качестве программируемого имени указываем $List1, формула столбца - @UserName.
Достоинства - можно настраивать списки не меняя дизайна.
Недостатки - спросить у гуру.
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#8
ох огороды городите!
проще всего @DbColumn в выбор значений для checkbox
И DbLookup для <computed value>
Особенно удобно если параметры вдруг будут добавляться.

а если количество значений checkbox ограничено и не большое - то для <computed value> пользуй обычный @if
 

nvyush

Lotus team
22.04.2009
2 317
0
#9
ох огороды городите!
проще всего @DbColumn в выбор значений для checkbox
И DbLookup для <computed value>
Особенно удобно если параметры вдруг будут добавляться.
Согласен, но научите, плз, как в видах отображать АРБУЗ вместо 1, не используя профильные документы и не кодируя жестко в формуле столбца. Вопрос так не стоял, но обычно встает, когда дело доходит до отображения доков в видах.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#10
Какие @DbColumn и @DbLookup? Причем здесь они? Есть значения, есть синонимы. Задача в том, чтобы определить значение, зная синоним.
Всё делается через одно дополнительное поле, как Omh написал.
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#11
Какие @DbColumn и @DbLookup? Причем здесь они? Есть значения, есть синонимы. Задача в том, чтобы определить значение, зная синоним.
Всё делается через одно дополнительное поле, как Omh написал.
У меня реализовано таким образом.
+ всего этого - не надо лазить в код. вся настройка проходит из интерфейса пользователя
 

nvyush

Lotus team
22.04.2009
2 317
0
#12
Какие @DbColumn и @DbLookup? Причем здесь они? Есть значения, есть синонимы. Задача в том, чтобы определить значение, зная синоним.
Всё делается через одно дополнительное поле, как Omh написал.
Правильно, но ИМХО, значение в это поле лучше подставлять из профильного дока, чтоб дизайн не ломать при обновлении списка.
 

NickProstoNick

Статус как статус :)
Lotus team
22.08.2008
1 809
21
#13
конечно придется повозиться с алгоритмами... сделать их гибкими и "готовыми" к новым параметрам.
При большом желании для каждого параметра можно предусмотреть использование @-формулы или lotus-скрипта.
В общем все зависит от того что пишут и какая задача

Medevic
Прошу прощения, а где хранить синонимы их значения?
 

nvyush

Lotus team
22.04.2009
2 317
0
#15
Это хорошо для данных типа
Мужской|1
Женский|2

Если же список значений может меняться/настраиваться, то лучше хранить данные либо в настроечных документах, либо в профильных, в зависимости от задачи. Я предпочитаю профильные.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#16
А если не может меняться/настраиваться, то зачем нам профильные документы? :)
Из условия не понятно могут ли меняться данные. Да и задача в другом.
 

nvyush

Lotus team
22.04.2009
2 317
0
#17
А если не может меняться/настраиваться, то зачем нам профильные документы? :)
Из условия не понятно могут ли меняться данные. Да и задача в другом.
А по теме задачи есть подсказка в одном из моих предыдущих постов (правда для столбца вида).
Пусть есть CheckBox.
Размещаем на форме скрытое поле со списком значений $List1 (CFD или из профиля - на вкус). У CheckBox'a источник - формула $List1.
Для вычисляемого текста пишем формулу:
FindList := @Word($List1; "|"; 2);
ReplaceList := @Word($List1; "|"; 1);
@Replace(CheckBox; FindList; ReplaceList);
 
Y

Yukas

#18
Ух ты.... сколько способов.
Скорее всего подходит вариант Omh, т.к. значений в поле не очень много и они не добавляются.
Всем огромное спасибо, за помощь!
 
Статус
Закрыто для дальнейших ответов.