Работа с LookupControl

Добрый вечер!

Допустим есть раздел. Добавляю элемент LookupControl, в его свойстве LookupDatasetLink указываю добавленный датасет dlData. После запуска клиентской части выбираю значение для созданного контрола, оно отображается. Но если пробую просмотреть что в нем, с помощью ShowInformationDialog(LookupControl.Value) на событии OnChange, то показывает пустое окно.

Как получить значение этого контрола? И в какой момент оно обновляется?

Нравится

6 комментариев

Здравствуйте Александра!

Значение LookupDataControl'a можно, к примеру, обработать на событии OnDatasetDataChange для dlData.

1

Допустим в карточке "Контрагент" после заполнения поля "Ответственный" требуется вывести в MessageBox ФИО выбранного контакта.
Для этого добавляем следующий код в обработчик события OnDatasetDataChange:

if (DataField.Name == 'OwnerID')
{
         MessageBox(DataField.DisplayValue);
} 

Результат:

2

Сам же ID отвественного (значение с таблицы tbl_Contact) можно получить через свойство Value:

DataField.Value

"Олейник Дмитрий" написал:Значение LookupDataControl'a можно, к примеру, обработать на событии OnDatasetDataChange для dlData.

Насколько понял, речь о LookupControl, а не LookupDataControl.

Получить значение LookupControl'a можно на событии LookupControlOnChange для LookupControl. Для этого поместите следующий код в обработчик этого события:

function LookupControlOnChange(LookupControl) 
{   
	{                
	        var Dataset = dlTest.Dataset;                      
		var FIO = Dataset.Values('Name');
		MessageBox(FIO);
	}
}

Спрашивала именно про LookupControl, хотела обратиться к его значению из какой-либо функции.
Нашла, что это можно сделать вот так: Self.ComponentsByName('edtOffeingFilter').Value, где edtOffeingFilter - имя контрола.

Если из скрипта окна обращаться то и edtOffeingFilter.Value пройдет

Александра,
действительно Self.ComponentsByName('edtName').Value - это один из способов считывания значения LookupControl'a.

Показать все комментарии