Хочу получить значение поля выбранной записи в LookupDataControl, но не его ID или видимую часть а другое поле. Делаю так:
function edtOfferingFormsTypeOnPrepareSelectWindow(LookupDataControl, SelectWindow){ var OfferingTypeID = edtOffering.DataField.LookupDataset.DataFields.ItemsByName('OfferingTypeID').Value;// - тут в значении "Член группы не найден." var LookupDataset = LookupControl.LookupDatasetLink.Dataset;
ApplyDatasetFilter(LookupDataset,'OfferingTypeID', OfferingTypeID,true); }
почему так? могу ли я получить значение любого поля записи в LookupDataControl или придется взять его ручками...
Странно как-то...
лучше на событие DataChange датасета брать Offering и по нему получать OfferingTypeID. Не до конца понимаю что вы по результату сделать. Поясните.
целью была фильтрация 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;}