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

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

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

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

Проблема с Dialoglist или как убрать ненужное значение

  • Автор темы Della
  • Дата начала
D

Della

Привет всем!Помогите, пожалуйста, решить проблемку (с Лотусом только знакомлюсь). Попытаюсь объяснить.
Есть 3 формы. На 1й поле (наименование службы). На второй два поля (наименование службы, название группы). К каждой службе относится несколько групп.
На 3й форме два DialogLista (в одном (slug) выбирается служба, во втором (gruppa) группы, относящиеся только к данной службе ). В 1м выбираем из списка службу @DbColumn("":"NoCache";"":""; "nais"; 2),где nais-вьюха, в кот-й отображаются названия служб. Во втором DialogListе выбираем @If(slug!="";@DbLookup("":"NoCache";"":""; "naig"; slug; 2);"")
Вопрос: когда в первый раз выбираю из slug службу,а из gruppa названия соответствующей ей группы, все нормально, но стоит поменять название службы, и начать выбор из поля gruppa, в нем (в gruppa)отображаются группы,привязанные к выбранной службе плюс остается группа от выбора предыдущей службы. Как сделать так, чтобы при изменении выбора в поле slug , убиралось значение от предыдущего выбора?
Может я что-то не так делаю?? :)
 
D

Darker

Во второй вкладке свойств поля группы проставь предпоследние 2 галочки
 
D

Della

D

Della

Появился еще один вопрос :ya_lamo: На вышеупомянутой форме есть поле slug, добавила туда еще одно поле isp, тоже DialogList, но значения выбираются так:mad:DbColumn("":"NoCache";"":""; "naig"; 3). Значения и там и там одинаковые, но представления разные.
Необходимо, чтобы при выборе в поле slug, такое же значение выбиралось в isp. Но при этом в поле isp можно было бы поменять значение.
Делала так:
Поле slug в InputTranslation

Field isp := @ThisValue;
@ThisValue
При этом,конечно,в поле isp значение такое же,как и в slug,но поменять его нельзя
 
X

Xalet

@SetField( fieldName ; value )

а лучше скриптом

uiDoc.FieldSetText("isp",uiDoc.FieldGetText("slug"))
 
N

nvyush

Появился еще один вопрос :D На вышеупомянутой форме есть поле slug, добавила туда еще одно поле isp, тоже DialogList, но значения выбираются так:mad:DbColumn("":"NoCache";"":""; "naig"; 3). Значения и там и там одинаковые, но представления разные.
Необходимо, чтобы при выборе в поле slug, такое же значение выбиралось в isp. Но при этом в поле isp можно было бы поменять значение.
Делала так:
Поле slug в InputTranslation

Field isp := @ThisValue;
@ThisValue
При этом,конечно,в поле isp значение такое же,как и в slug,но поменять его нельзя
А если так:
Field isp := @If(isp = ""; @ThisValue; isp);
@ThisValue

Или другой вариант
Поле isp, событие Onfocus:
Код:
Sub Onfocus(Source As Field)
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Set doc = ws.CurrentDocument.Document
doc.ReplaceItemValue("$UpdateIsp", "0").SaveToDisk = False
End Sub
Поле slug:
событие Onfocus:
Код:
Sub Onfocus(Source As Field)
Dim ws As New NotesUIWorkspace
Dim doc As NotesDocument
Set doc = ws.CurrentDocument.Document
doc.ReplaceItemValue("$UpdateIsp", "1").SaveToDisk = False
End Sub
InputTranslation:
Код:
Field isp := @If($UpdateIsp = "1"; @ThisValue; isp);
@ThisValue
 
D

Della

Спасибо всем за отклики!!!! :O_0: Воспользовалась "другим" вариантом nvy, так как в этом случае выбранное значение(сколько раз ни выбирай) в поле slug будет совпадать с соответствующим значением в поле isp, при этом значения isp можно при надобности поменять.
 
X

Xalet

Или другой вариант

Зачем так сложно?

Можно же просто сделать в поле slug событие onChange

Код:
Sub Onchange(Source As Field)
Dim ws As New NotesUIWorkspace
Dim uiDoc As NotesUIDocument
Set uiDoc = ws.CurrentDocument
Call uiDoc.FieldSetText("isp",uiDoc.FieldGetText("slug")) 
End Sub

Твой код рабочий. Ток не очень понимаю, зачем...
 
Z

zma

А не подскажите еще, как этот код заставить под Web-ом работать? @DbLookup не понимает значение первого поля....

Пардон, сам разобрался, если кому интересно, https://codeby.net/threads/21286.html?mode=linear
 
Мы в соцсетях:

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