Не отображается текст элемента LookupDataControl при загрузке карточки

Добрый день!
Никак не пойму, в чём может быть дело: при выборе элемента LookupDataControl, текст первичного поля для отображения соответствующего ему набора данных выводится корректно, однако после сохранения в БД и повторном открытии карточки, содержимое LookupDataControl оказывается пустым. Это при всём при том, что в БД значение первичного ключа сохраняется корректно, при открытии окна выбора записи подсвечивается именно выбранная ранее запись, в реестрах текст также отображается, а первичные для отображения поля правильно настроены не только в наборах данных, но и в сервисах, соответствующих таблицам СУБД. И вообще, все экземпляры LookupDataControl работают корректно, кроме одного. Я неоднократно пробовал пересоздавать этот элемент управления, в то время как кода, работающего с его содержимым, в карточке нет. Подскажите, с чем может быть связанно это умолчание о выбранном значении?

Нравится

3 комментария

Егор, проверьте пожалуйста, поля, касающиеся данного контрола в запросе (сервисе SelectQuery) карточки. Судя по описанию ситуации, возможно, для отображения указано не совсем то поле, что нужно, либо же присоединена не та таблица. Например, возможна ситуация:

select
    tbl_Contact.ID as ID,
    ...,
    tbl_Contact.CityID as CityID,
    City.Name as CityName,
    ...
from tbl_Contact
  left outer join tbl_Country as City
  ...

Конечно, я немного утрирую, но если названия таблиц очень похожи, подобные ситуации нередки (например, tbl_Contact и tbl_Contract).

Пять баллов, маэстро! :smile: Только ошибка была в предикате пересечения. Утрируя,

left outer join tbl_City on tbl_Contact.CountryID = tbl_City.ID

Большое спасибо!

Всегда пожалуйста :).

Обычно такое происходит, когда установил поля для JOIN'a, а потом случайно скроллом дернул и не заметил, что поле уже другое...

Показать все комментарии