Здравствуйте! В функции GetLookupDatasetFieldValue (scr_DB) стоило бы прописать отключение фильтра, строку
ApplySelectQueryFilter(SelectQuery, 'ID', IDValue, false);
перед выходом из функции, поскольку это сказывается при повторном поиске для поля, которое передается первым параметром.
Например, для контактов при попытке выборе другого контакта, в окне wnd_SelectGridArea показывается только тот контакт, который был выбран ранее, хотя критерии выбора не задаются. Выбор становится невозможным.
Здравствуйте Дмитрий!
Мне нужно анализировать входящие звонки. В карточке входящего звонка есть флажок "Запрос с сайта" (WebReq) и поле LookupDataControl ContactID - ID абонента. Нужно, чтобы для абонента был обязательным адрес E-Mail (Communication4), если включен флажок "Запрос с сайта". Я это реализовал в карточке звонка. Предусмотрел обработчик события dlDataOnDatasetBeforePost:
if (Dataset.ValAsBool('WebReq')) {
var EMail = GetLookupDatasetFieldValue(Dataset.DataFields('ContactID'), 'Communication4');
if (IsEmptyValue(EMail)) {
ShowErrorDialog('Не указан E-Mail абонента');
DoPost.Value = false;
IncommingCallsEdit.Result = DoPost.Value;
}
}
Первый раз отрабатывает нормально, но при повторном использовании происходит то, что я описал.