1C: вывод картинки в списке формы документа с изменением
Задача: необходимо сделать чтобы при двойном клике по ячейке статуса документа динамически изменялась картинка и соответственно его статус в форме списка документа.

Решение:
Чтобы каждый раз не дергать документ записью состояния, проще всего создать отдельный регистр в котором будет храниться ссылка документ и его текущий статус и перечисления:

Далее форму списка сделаем динамической, и добавим в запрос настройки списка связку с регистром:
...
ВЫБОР
КОГДА СК_ГР_Статусы_ДПС.Статус = ЗНАЧЕНИЕ(Перечисление.СК_ГР_СтатусКартинкой.Флажок)
ТОГДА 0
КОГДА СК_ГР_Статусы_ДПС.Статус = ЗНАЧЕНИЕ(Перечисление.СК_ГР_СтатусКартинкой.Галочка)
ТОГДА 1
ИНАЧЕ 2
КОНЕЦ КАК СтатусК
ИЗ
Документ.СК_ЗаявкаНаКУКУ КАК ДокументСК_ЗаявкаНаСК_ЗаявкаНаКУКУ
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СК_ГР_Статусы_ДПС КАК СК_ГР_Статусы_ДПС
ПО (СК_ГР_Статусы_ДПС.ДокОснование = ДокументСК_ЗаявкаСК_ЗаявкаНаКУКУ .Ссылка)
...
Для следующего шага необходимо подготовить картинку высотой 32 пикселя, и шириной 32*количество_статусов, например что-то в этом духе:

Далее на форме списка, у колонки «СтатусК», выберем вид «Поле картинки» и в свойство «Картинка значений», загрузим картинку:

Ну и соответственно в событие таблицы «выбор» добавим изменение статуса по двойному клику по столбцу «СтатусК»:
&НаСервере
Функция ПолучитьТекущийСтатусДокумента(Регистратор)
ТекущийСтатус=Перечисления.СК_ГР_СтатусКартинкой.ПустаяСсылка();
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| СК_ГР_Статусы_ДПС.Статус КАК Статус
|ИЗ
| РегистрСведений.СК_ГР_Статусы_ДПС КАК СК_ГР_Статусы_ДПС
|ГДЕ
| СК_ГР_Статусы_ДПС.ДокОснование = &Регистратор";
Запрос.УстановитьПараметр("Регистратор", Регистратор);
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
ТекущийСтатус=ВыборкаДетальныеЗаписи.Статус;
КонецЦикла;
возврат ТекущийСтатус;
КонецФункции
&НаСервере
Процедура ИзменитьСтатусКНаСервере(НомерДок)
док=Документы.СК_ЗаявкаНаИсполнениеПлатныхУслуг.НайтиПоНомеру(НомерДок);
ТекСтат=ПолучитьТекущийСтатусДокумента(док);
если ТекСтат=Перечисления.СК_ГР_СтатусКартинкой.ПустаяСсылка() тогда
ТекСтат=Перечисления.СК_ГР_СтатусКартинкой.Флажок;
иначеесли ТекСтат=Перечисления.СК_ГР_СтатусКартинкой.Флажок тогда
ТекСтат=Перечисления.СК_ГР_СтатусКартинкой.Галочка;
иначеесли ТекСтат=Перечисления.СК_ГР_СтатусКартинкой.Галочка тогда
ТекСтат=Перечисления.СК_ГР_СтатусКартинкой.ПустаяСсылка();
конецесли;
МенеджерЗаписи = РегистрыСведений.СК_ГР_Статусы_ДПС.СоздатьМенеджерЗаписи();
МенеджерЗаписи.ДокОснование = док;
МенеджерЗаписи.Статус = ТекСтат;
МенеджерЗаписи.Записать();
КонецПроцедуры
&НаКлиенте
Процедура СписокВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
если Поле.Имя="СтатусК" тогда
ИзменитьСтатусКНаСервере(Элемент.ТекущиеДанные.Номер);
Элементы.Список.Обновить();
СтандартнаяОбработка=ложь;
конецесли;
КонецПроцедуры