Добрый вечер!
Допустим есть раздел. Добавляю элемент LookupControl, в его свойстве LookupDatasetLink указываю добавленный датасет dlData. После запуска клиентской части выбираю значение для созданного контрола, оно отображается. Но если пробую просмотреть что в нем, с помощью ShowInformationDialog(LookupControl.Value) на событии OnChange, то показывает пустое окно.
Как получить значение этого контрола? И в какой момент оно обновляется?
Нравится
Здравствуйте Александра!
Значение LookupDataControl'a можно, к примеру, обработать на событии OnDatasetDataChange для dlData.
Допустим в карточке "Контрагент" после заполнения поля "Ответственный" требуется вывести в MessageBox ФИО выбранного контакта.
Для этого добавляем следующий код в обработчик события OnDatasetDataChange:
if (DataField.Name == 'OwnerID') { MessageBox(DataField.DisplayValue); }
Результат:
Сам же 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.