получение значения поля выбранной записи в LookupDataControl
Хочу получить значение поля выбранной записи в LookupDataControl, но не его ID или видимую часть а другое поле. Делаю так:
var OfferingTypeID = edtOffering.DataField.LookupDataset.DataFields.ItemsByName('OfferingTypeID').Value; // - тут в значении "Член группы не найден."
var LookupDataset = LookupControl.LookupDatasetLink.Dataset;
ApplyDatasetFilter(LookupDataset, 'OfferingTypeID', OfferingTypeID, true);
}
почему так? могу ли я получить значение любого поля записи в LookupDataControl или придется взять его ручками...
Нравится
заранее поправлю ошибки, в итоге должно быть примерно так:
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); }
Странно как-то...
лучше на событие DataChange датасета брать Offering и по нему получать OfferingTypeID. Не до конца понимаю что вы по результату сделать. Поясните.
Здравствуйте Владимир,
Если я вас правильно понял, то для получения интересующего вас поле советую попробовать написать
LookupDataControl.DataField.LookupDataset.Open(); LookupDataControl.DataField.LookupDataset('интересующее вас поле').Value;
Группа компаний Terrasoft
целью была фильтрация LookupDataControl, сделал так:
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; }
Вместо
"Каукин Владимир Константинович" написал: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;
}
Можно использовать
var OfferingTypeID = GetDatasetFieldValueByID('ds_Offering', OfferingID, 'OfferingTypeID')
из скрипта scr_DB