Значение из справочника

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

Гость
#1
Народ очь нужна ваша помощь :)
Как сделать такое:
Есть справочник типов документов - Поля (Тип документа, Назвние, Срок Исполнения)
Есть регистрационная форма где пользователь вводить код Типа документа,
А в поля Название и срок подставляются значения из справочника
либо пользователь выбирает из списка название типа документа а код и срок беруться из справочника
Поля редактируемые.
И как вызвать диалог вабора по нажатию Enter в поле.
ПОМОГИТЕ!!! :lol:
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
#2
Есть справочник типов документов - Поля (Тип документа, Назвние, Срок Исполнения)
Есть регистрационная форма где пользователь вводить код Типа документа,
А в поля Название и срок подставляются значения из справочника
либо пользователь выбирает из списка название типа документа а код и срок беруться из справочника
Поля редактируемые.
И как вызвать диалог в
скушно...

И как вызвать диалог вабора по нажатию Enter в поле.
трудно...
 

Omh

Well-Known Member
Lotus team
04.07.2007
2 210
1
#4
>Есть регистрационная форма где пользователь вводить код Типа документа,
>А в поля Название и срок подставляются значения из справочника
@DbLookup или на QuerySave найти и подставить

>пользователь выбирает из списка название типа документа а код и срок беруться из справочника
ws.PickListCollection

>И как вызвать диалог вабора по нажатию Enter в поле.
JavaScript
 
13.03.2009
625
2
#5
Ну хотябы куда копать ОЧЕНЬ НАДО :unsure:
Про enter в поле копать можно сюда: http://interfacematters.com/2007/05/press-...ger-action.html
Или сюда: http://dontpanic82.blogspot.com/2007/08/fi...sui-search.html

Но(!) описанный по первой сслыке способ приводит к утечке памяти. Достаточно подержать такой документ открытым в UI пару часов( ессно depends on .. ) Грабли наблюдались в r6.0.1, 6.5, 7.0.3, 7.0.2. Если кто забарывал - поделитесь опытом.

>16.06.2009:
>Сергей Смирнов (НТЦ ИРМ) таки заборол утечку: достаточно внутри функции, вызываемой через setInterval, переодически(напр. раз в минуту) вызывать
>currForm.elements[ currFieldName ].onblur();
>currForm.elements[ currFieldName ].onfocus();
>currFieldName - имя поля, в котором ловим Enter.
>Оно переинициализирует таймер, при этом похоже сборщик мусора корректно освобождает память.

У второго варианта беда, что время отклика может достигать секунды...

Можно копать в таком направлении:
поле "кода типа" - список, allow values not in list , refresh document.... , use formula for choice: @ThisValue
и на queryRecalc ловить ввод текста в поле. enter так не поймайть, зато можно ловить введенное значение, сравнивать со словарным и при совпадении заполнять остальные поля и, например, вываливаться из поля... получается этакий контекстный ввод текста в поля. Для словарных полей, допускающих ручной ввод - вполне себе удачное решение...

тот же queryRecalc обрабатывает изменение спискового поля "название типа документа"