Отбор регистра сведений в табличном поле

Задача

  • В форме элемента справочника Контрагенты добавлено табличное поле с типом источника “РегистрСведенийНаборЗаписей.ИсторияОповещений”.
  • В событии ПриОткрытии формы следует установить отбор по ссылке Контрагента

Решение

Устанавливается отбор не в наборе записей “ИсторияОповещений”, а в свойстве табличного поля ОтборСтрок

НастройкаОтбор = ЭлементыФормы.ИсторияОповещений.ОтборСтрок;
НастройкаОтбор.Партнер.ВидСравнения   = ВидСравнения.Равно;
НастройкаОтбор.Партнер.Значение       = Ссылка;
НастройкаОтбор.Партнер.Использование  = Истина;

Если у вас  ТипЗначения источника “РегистрСведенийНаборЗаписей”, тогда далее, считывается этот набор и обновляются строки табличного поля

ИсторияОповещений.Прочитать();

ЭлементыФормы.ИсторияОповещений.ОбновитьСтроки();

Если это “РегистрСведенийСписок”, тогда считывание не нужно, но отбор как раз у объекта ИсторияОповещений.Отбор, а не элемента формы.

В табличном поле есть свойство “Обновлять при изменении отбора”, но она в данном случае не отрабатывает, скорее всего применяется для интерактивного изменения отбора.

obnovlyat-pri-izmenenii-otbora-rs

Тем не менее, рекомендую его устанавливать, хуже точно не будет.

Если записи регистра сведений часто изменяются (пока открыта форма элемента):

  • следует обновлять табличное поле через механизм оповещений, так как в свойствах табличного поля регистра сведений, нет возможности установить интервал обновления (в отличии от списка документов);
  • принудительно через интервал времени, задействовав “Обработчик  ожидания”;
  • добавить кнопку “Обновить” для табличного поля. 

Никакая реклама не поможет продать то, что продать невозможно.

— Сирил Норткот Паркинсон.