получение значения поля выбранной записи в LookupDataControl
Хочу получить значение поля выбранной записи в LookupDataControl, но не его ID или видимую часть а другое поле. Делаю так:
var OfferingTypeID = edtOffering.DataField.LookupDataset.DataFields.ItemsByName('OfferingTypeID').Value; // - тут в значении "Член группы не найден."
var LookupDataset = LookupControl.LookupDatasetLink.Dataset;
ApplyDatasetFilter(LookupDataset, 'OfferingTypeID', OfferingTypeID, true);
}
почему так? могу ли я получить значение любого поля записи в LookupDataControl или придется взять его ручками...
Нравится
заранее поправлю ошибки, в итоге должно быть примерно так:
[javascript]
function edtOfferingFormsTypeOnPrepareSelectWindow(LookupDataControl, SelectWindow) {
//var OfferingID = edtOffering.DataField.Value; //id записи
var OfferingTypeID = edtOffering.DataField.LookupDataset.DataFields.ItemsByName('OfferingTypeID').Value;
ApplyDatasetFilter(LookupDataControl.DataField.LookupDataset,
'OfferingTypeID', OfferingTypeID, true);
}
[/javascript]
Странно как-то...
лучше на событие DataChange датасета брать Offering и по нему получать OfferingTypeID. Не до конца понимаю что вы по результату сделать. Поясните.
Здравствуйте Владимир,
Если я вас правильно понял, то для получения интересующего вас поле советую попробовать написать
[javascript]
LookupDataControl.DataField.LookupDataset.Open();
LookupDataControl.DataField.LookupDataset('интересующее вас поле').Value;
[/javascript]
Группа компаний Terrasoft
целью была фильтрация LookupDataControl, сделал так:
[javascript]
function edtOfferingFormsTypeOnPrepareSelectWindow(LookupDataControl, SelectWindow) {
var OfferingID = edtOffering.DataField.Value; //id записи
var OfferingTypeID = GetOfferingTypeID(OfferingID);
ApplyDatasetFilter(LookupDataControl.DataField.LookupDataset,
'OfferingTypeID', OfferingTypeID, true);
}
function GetOfferingTypeID(ID)
{
var sq = Services.GetNewItemByUSI('sq_Offering');
ApplySelectQueryFilter(sq, 'ID', ID, true);
var ds = sq.Open();
if (ds.RecordsCount == 0) return null;
return ds.DataFields.ItemsByName('OfferingTypeID').Value;
}
[/javascript]
Вместо
"Каукин Владимир Константинович" написал:function GetOfferingTypeID(ID)
{
var sq = Services.GetNewItemByUSI('sq_Offering');
ApplySelectQueryFilter(sq, 'ID', ID, true);var ds = sq.Open();
if (ds.RecordsCount == 0) return null;
return ds.DataFields.ItemsByName('OfferingTypeID').Value;
}
Можно использовать [javascript] var OfferingTypeID = GetDatasetFieldValueByID('ds_Offering', OfferingID, 'OfferingTypeID')
[/javascript] из скрипта scr_DB