19.10.2004, 13:33 | #1 |
Участник
|
Вызов функций одной формы из другой
Здравствуйте!
Помогите пожалуйста! У меня возникла проблема: Задача изначально была такова - есть форма с текс боксами - рядом с каждым текстбоксом находится кнопка по которой открывается справочник при выборе элемента справочник и выхода из него в текстбокс формы должено копироваться значение справочника (т.е. с помощью справочника мы можем составлять строку из элементов справочника они должны складываться). Я написал функцию которая изменяет Sourse ТекстБокса - входной параметр у функции - переменная которая должна прибавляться к значению ТекстБокса - Вызываю эту функцию из тригера на закрытие справочника - функция не выполнятеся |
|
19.10.2004, 15:29 | #2 |
NavAx
|
Если я правильно понял, то вопрос в следующем: при использовании свойства Lookup = Yes у текстбокса при выборе значения из списка новое значение замещает старое, а Вам надо, чтобы эти значения "складывались".
В таком случае проще всего использовать триггер OnLookup текстбокса. Например, нужно составлять значение текстбокса из кодов товаров из таблицы Item. Пусть SourceExpression у текстбокса - некая переменная Value:Text. Больше никаких свойств у текстбокса трогать не надо (в том числе свойство Lookup оставить No) Заводим переменную OldValue:Text; ItemList: Form Item List; Item: Record Item. В триггер OnLookup текстбокса напишите следующий код. PHP код:
|
|
20.10.2004, 08:03 | #3 |
Участник
|
Yoil
Спасибо огромное - все работает Еще я добавил для записи в таблицу OldValue := Value; CLEAR(ItemList); ItemList.LOOKUPMODE := TRUE; IF ItemList.RUNMODAL = ACTION::LookupOK THEN BEGIN ItemList.GETRECORD(Item); Value := OldValue + ' ' +Item."No."; -> Поле := Value; END; |
|
26.01.2005, 12:36 | #4 |
Участник
|
OnLookup
Насколько я понимаю в OnLookUp надо делать EXIT(TRUE) дабы показать что выбор произошёл иначе присваивания не произойдёт. Это нужно в случае если значение пихать через переменную OnLookup 'Text'
Пример: PHP код:
|
|