• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Создать условие

D

Dimm

Всем привет!
Помогите новичку написать некоторое условие:
Есть чекбокс и 2 поля ввода.
Необходимо... при не активном чекбоксе поля Use_1 и Func_1 всегда пусты и скрыты. (Скрыть у меня реализовано), а при активном - видны. В поле Use_1 текст - "РАБОТА" нередактируемое. Поле Func_1 пустое при открытии с возможностью ввода текста.
Куда что вписывать? Спасибо
 

Вложения

  • 001.jpg
    001.jpg
    2,6 КБ · Просмотры: 481

garrick

Lotus Team
26.10.2009
1 352
151
BIT
203
Что пытались сделать? Что не получилось? Ничего не понятно. Попробуйте переформулировать вопрос.
 
D

Dimm

Что пытались сделать? Что не получилось? Ничего не понятно. Попробуйте переформулировать вопрос.
Ммм... не получилось ничего. Точнее я не знаю как реализовать это, т.к. только начинаю этим заниматься.
Суть в чем... есть форма конфигурации ПК. Всего 50 ПК. В форме есть параметр с чекбоксом и 2 полями, определяющими статус этого ПК. В моем случае это - слово РАБОТА. В представлении есть столбец показывающий значение поля статуса каждого ПК. Так вот, если у ПК уже стоит статус РАБОТА, а требуется изменить его на пустое поле - нужно деактивировать чекбокс после чего поля указанные в предыдущем посте после сохранения станут пустыми. Надеюсь так более понятно...
 

savl

Lotus Team
28.10.2011
2 607
313
BIT
257
@Dimm
1. Эти поля уже сделаны до Вас или их сделали Вы?
2. Книги по разработке в Lotus есть?
3. LotusScript уже применяли? Или только @Formula?
 
D

Dimm

@Dimm
1. Да, поля сделал я
2. Книжка на глаза попадалась... поищу
3. Только @Formula
 

savl

Lotus Team
28.10.2011
2 607
313
BIT
257
@Dimm
Почему надо разделять чекбокс и поле с "РАБОТА" ?
На мой взгляд это можно объединить в одно поле. в Yes ставим значение РАБОТА|1
смотри скрин scr1
Таким образом избавляемся от поля, которое не меняется, оно нам не нужно.
У чекбокса в свойствах:
на второй закладке ставим галку в пункте "Refresh Fields on keyword change"
на третей закладке ставим галку внизу "Run Exiting/OnChange event ..."
смотри скрины scr1 и scr2

Далее слева в навигаторе ищем вверху пункт Globals, в нем подпункт Declarations, в нем пишем: Dim uiDoc As NotesUIDocument (см src3)
Там же слев аищем событие PostOpen, в нем пишем: Set uiDoc = Source (см scr4)

Далее, у поля Yes, слева в навигаторе слева ищем пункт "Exiting", выставлем ему "Client" и "LotusScript", пишем код (см scr5):
If uiDoc.FieldGetText("Yes") = "" Then
Call uidoc.FieldSetText("Func_1", "")
End If

Должно работать, естественно в режиме редактирования.
 

Вложения

  • scr1.png
    scr1.png
    6,9 КБ · Просмотры: 424
  • scr2.png
    scr2.png
    4,5 КБ · Просмотры: 437
  • scr3.png
    scr3.png
    5,9 КБ · Просмотры: 514
  • scr4.png
    scr4.png
    10,5 КБ · Просмотры: 380
  • scr5.png
    scr5.png
    10,2 КБ · Просмотры: 486
  • Нравится
Реакции: Dimm

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 948
609
BIT
250
@savl я в последнее время сильно обленился... ;)
и потому - создаю вьюшку с доками типа полей, у них есть: имя, нац. имя
а для чекбоксов - забиваю ф-цию в choices
Код:
key:=cLocale+"|fld|"+@ThisName;
v:=@DbLookup("":"ReCache";"":"";intlView;key;"intlName");
snum:=@Explode("0 1 2 3 4 5 6 7 8  9";" ");
res:=@If(@IsError(v);@ThisName;v);
n:=@Elements(res);
num:=@Subset(@TextToNumber(snum *+ snum);n);
res+"|"+@Text(num)
 
  • Нравится
Реакции: savl

savl

Lotus Team
28.10.2011
2 607
313
BIT
257
странно, проверте еще раз, прямо по скринам. Скорее postopen пропустили
 
D

Dimm

странно, проверте еще раз, прямо по скринам. Скорее postopen пропустили
все и правда нормально, это ошибка из другого поля. Забыл убрать оттуда код с прошлого раза. Спасибо, все получилось
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!