1. в запросе динамического списка создаем что типа этого
ВЫБОР
КОГДА ВашаСсылка В (&СписокОтбора)
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК Флажок
2. - добавляем реквизит формы СписокОтбора (СписокЗначений или Массив), куда будем заносить отмеченные ссылки - в модуле формы добавляем процедуру обработчик «Выбор», например
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Если Поле.Имя = "Флажок" Тогда
СтандартнаяОбработка = Ложь;
Если НЕ Элемент.ТекущиеДанные.Флажок Тогда
Если СписокОтбора.НайтиПоЗначению(ВыбраннаяСтрока) = Неопределено Тогда СписокОтбора.Добавить(ВыбраннаяСтрока) КонецЕсли;
Иначе
СписокОтбора.Удалить(СписокОтбора.НайтиПоЗначению(ВыбраннаяСтрока));
КонецЕсли;
Список.Параметры.УстановитьЗначениеПараметра("СписокОтбора", ЭтаФорма.СписокОтбора);
Элементы.Список.Обновить();
КонецЕсли;
КонецПроцедуры
3. На форме при создании на сервере устанавливаем в качестве параметра наш реквизит с список
Список.Параметры.УстановитьЗначениеПараметра("СписокОтбора", ЭтаФорма.СписокОтбора);
PS. Не забываем очищать наш СписокОтбора при применении отборов к Динамическому и списку, после очистки СпискаОтбора необходимо снова вставлять код
<code>
Список.Параметры.УстановитьЗначениеПараметра("СписокОтбора", ЭтаФорма.СписокОтбора);
Элементы.Список.Обновить();
</code>