1. в запросе динамического списка создаем что типа этого

ВЫБОР
КОГДА ВашаСсылка В (&СписокОтбора)
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК Флажок

2. - добавляем реквизит формы СписокОтбора (СписокЗначений или Массив), куда будем заносить отмеченные ссылки - в модуле формы добавляем процедуру обработчик «Выбор», например

&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
Если Поле.Имя = "Флажок" Тогда
СтандартнаяОбработка = Ложь;
Если НЕ Элемент.ТекущиеДанные.Флажок Тогда
Если СписокОтбора.НайтиПоЗначению(ВыбраннаяСтрока) = Неопределено Тогда СписокОтбора.Добавить(ВыбраннаяСтрока) КонецЕсли;
Иначе
СписокОтбора.Удалить(СписокОтбора.НайтиПоЗначению(ВыбраннаяСтрока));
КонецЕсли;
Список.Параметры.УстановитьЗначениеПараметра("СписокОтбора", ЭтаФорма.СписокОтбора);
Элементы.Список.Обновить();
КонецЕсли;
КонецПроцедуры

3. На форме при создании на сервере устанавливаем в качестве параметра наш реквизит с список

Список.Параметры.УстановитьЗначениеПараметра("СписокОтбора", ЭтаФорма.СписокОтбора);

PS. Не забываем очищать наш СписокОтбора при применении отборов к Динамическому и списку, после очистки СпискаОтбора необходимо снова вставлять код

<code>
Список.Параметры.УстановитьЗначениеПараметра("СписокОтбора", ЭтаФорма.СписокОтбора);
Элементы.Список.Обновить();
</code>