• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

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

D

Dimm

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

Вложения

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

garrick

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

Dimm

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

savl

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

Dimm

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

savl

Lotus Team
28.10.2011
2 597
310
BIT
180
@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 КБ · Просмотры: 422
  • scr2.png
    scr2.png
    4,5 КБ · Просмотры: 435
  • scr3.png
    scr3.png
    5,9 КБ · Просмотры: 512
  • scr4.png
    scr4.png
    10,5 КБ · Просмотры: 378
  • scr5.png
    scr5.png
    10,2 КБ · Просмотры: 484
  • Нравится
Реакции: Dimm

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
215
@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 597
310
BIT
180
странно, проверте еще раз, прямо по скринам. Скорее postopen пропустили
 
D

Dimm

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

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