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

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

Della

Гость
#1
Привет всем!Помогите, пожалуйста, решить проблемку (с Лотусом только знакомлюсь). Попытаюсь объяснить.
Есть 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
Во второй вкладке свойств поля группы проставь предпоследние 2 галочки
 
D

Della

Гость
#4
D

Della

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

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

Xalet

Well-Known Member
08.08.2008
410
0
#6
@SetField( fieldName ; value )

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

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

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
#7
Появился еще один вопрос :D На вышеупомянутой форме есть поле slug, добавила туда еще одно поле isp, тоже DialogList, но значения выбираются так:@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

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

Xalet

Well-Known Member
08.08.2008
410
0
#9
Зачем так сложно?

Можно же просто сделать в поле 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
Твой код рабочий. Ток не очень понимаю, зачем...