Для реализации пометок в динамических списках есть несколько вариантов. Они предполагают либо двойной клик по пометке, что для пользователей является неудобным и непривычным. Либо одинарный клик, но иногда все равно нужно нажимать дважды. При сравнении пользовательского восприятия в первом варианте задержки при нажатии на пометки списка менее выражены.

Хитрость описываемого метода в том, что при клике на флажок фокус перескакивает на поле справа от флажка, и тогда событие ПриАктивизацииЯчейки срабатывает, даже если клик происходит в текущей строке.

Первое, что нужно сделать – добавить поле Выбран в запрос:

Запрос списка

ВЫБРАТЬ
	Контрагенты.Ссылка В (&ВыбранныеСсылки) КАК Выбран,
	Контрагенты.Ссылка КАК Ссылка,
	Контрагенты.Наименование КАК Наименование,
	Контрагенты.ИНН КАК ИНН,
	Контрагенты.ЮрФизЛицо КАК ЮрФизЛицо,
	Контрагенты.Партнер КАК Партнер
ИЗ
	Справочник.Контрагенты КАК Контрагенты

Настройка свойств

Перетянуть колонку из реквизитов в элементы списка и настроить свойства:

Свойство Поле
Свойство Поле

Картинка в типовых конфигурациях — это БиблиотекаКартинок.ФлажокБЭД, но если ее нет, то можно взять эту  

Код модуля формы

&НаКлиенте
Перем ВыбранныеСсылки;

&НаКлиенте
Процедура ПриОткрытии(Отказ)

	ВыбранныеСсылки = Новый Массив;	
	Список.Параметры.УстановитьЗначениеПараметра("ВыбранныеСсылки", ВыбранныеСсылки);
	УстановитьФокусПослеКолонкиВыбор();		

КонецПроцедуры

// При открытии фокус автоматически устанавливается на первую колонку Выбор
// Это мешает одиночному клику
// Ищем первую видимую колонку после колонки Выбор
&НаКлиенте
Процедура УстановитьФокусПослеКолонкиВыбор()
	
	Индекс = Элементы.Список.ПодчиненныеЭлементы.Индекс(Элементы.СписокВыбран);
	Для Сч = Индекс + 1 По Элементы.Список.ПодчиненныеЭлементы.Количество() - 1 Цикл
		Если Элементы.Список.ПодчиненныеЭлементы[Сч].Видимость Тогда
			Элементы.Список.ТекущийЭлемент = Элементы.Список.ПодчиненныеЭлементы[Сч];
			Прервать;
		КонецЕсли;
	КонецЦикла;

КонецПроцедуры

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

&НаКлиенте
Процедура ПоставитьПометку(ДокСсылка)

	Индекс = ВыбранныеСсылки.Найти(ДокСсылка);
	Если Индекс = Неопределено Тогда
		ВыбранныеСсылки.Добавить(ДокСсылка);
	КонецЕсли;

КонецПроцедуры

&НаКлиенте
Процедура СнятьПометку(ДокСсылка)

	Индекс = ВыбранныеСсылки.Найти(ДокСсылка);
	Если Индекс >= 0 Тогда
		ВыбранныеСсылки.Удалить(Индекс);
	КонецЕсли;

КонецПроцедуры

Указываем события Списка

В свойствах Списка указываем обработчик события ПриАктивизацииЯчейки:

Свойства Таблица
Cвойства Таблица

Предложенный метод реализует одинарный клик по флажкам в динамических списках 1С с минимальными изменениями и отличным пользовательским восприятием.