На управляемой форме есть табличная часть, в которой нужно добавить колонку статуса документа по аналогии с формами списка. Как добавить эту картинку простым способом? Я начал смотреть как реализовано в других обработках: в запросе примерно такой текст:

```1c
    ТекстЗапроса = ТекстЗапроса + ",
    | ВЫБОР КОГДА Ссылка.Проведен ТОГДА
    | 7
    | ИНАЧЕ
    | ВЫБОР КОГДА Ссылка.ПометкаУдаления ТОГДА 8 ИНАЧЕ 6 КОНЕЦ
    | КОНЕЦ КАК Картинка";
```

Тут всё понятно, мы формируем свою колонку со статусом, но в виде числа, а уже потом согласно этому числу програмно подберётся соответствующая картинка.
И вот, в элементе формы выбрана картинка 144х16 png (картинку прикрепил). Но не понятно, как платформа определяет какой кусок из этой картинки показать?
Может быть кто-то знает более лаконичный способ показать статус документа в виде картинки?
---
И вот, в элементе формы выбрана картинка 144х16 png (картинку прикрепил). Но не понятно, как платформа определяет какой кусок из этой картинки показать?
Все просто на самом деле. Вот, для примера, получили цифру 7. Набор картинок это виртуальный массив полученный из мысленно нарезанных квадратов картинки 144х16. Раз каждый элемент массива картинки это квадрат, то имея одну сторону (высоту) равной 16 пикселей, то получается, что каждая картинка это 16х16. Последовательно нарезая из 144х16 квадраты картинок 16х16 получаем 9 картинок. А так как эти виртуальные картинки представлены в памяти как массив картинок, то и обращение к ним идет по индексу. И получается, что для цифры 7 будет показана 8-ая картинка, которая соответствует участку исходной картинки, начиная с 113 пиксела по 128 по горизонтали и размером 16х16 пикселей.
---
гляньте в форму списка типовых конфигураций)
---
И вот, в элементе формы выбрана картинка 144х16 png (картинку прикрепил). Но не понятно, как платформа определяет какой кусок из этой картинки показать?
Все просто на самом деле. Вот, для примера, получили цифру 7. Набор картинок это виртуальный массив полученный из мысленно нарезанных квадратов картинки 144х16. Раз каждый элемент массива картинки это квадрат, то имея одну сторону (высоту) равной 16 пикселей, то получается, что каждая картинка это 16х16. Последовательно нарезая из 144х16 квадраты картинок 16х16 получаем 9 картинок. А так как эти виртуальные картинки представлены в памяти как массив картинок, то и обращение к ним идет по индексу. И получается, что для цифры 7 будет показана 8-ая картинка, которая соответствует участку исходной картинки, начиная с 113 пиксела по 128 по горизонтали и размером 16х16 пикселей.
---
Действительно работает так, проверил на чистой обработке. Только осталось загадкой, как платформа понимает, что нужно картинку разделить на квадраты. Остаётся предположение: берёт высоту, и если ширина картинки больше высоты, нужно поделить ширину на участки, равные высоте и получить квадраты, и присвоить каждому номер по порядку. И также остался вопрос - если бы ширина картинки не будет делиться на высоту без остатка - что будет?.. Смещение областей квадратов?... Но это уже другая история) Итог: механизм работает - взял себе на заметку, а как он там работает - сейчас некогда разбираться)) Если кто разберётся в будущем или найдёт ссылку с объяснением - напишите тут. Этот будет ваш плюс в карму.

```1c
    &НаСервере
    Процедура ЗаполнитьНаСервере()

    Для номер = 0 по 8 цикл
    НСтр = Таблица.Добавить();
    НСтр.Картинка = номер;
    НСтр.Строка = ЧислоПрописью(НСтр.Картинка);
    КонецЦикла;

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

    &НаКлиенте
    Процедура Заполнить(Команда)
    ЗаполнитьНаСервере();
    КонецПроцедуры

    &НаКлиенте
    Процедура ПриОткрытии(Отказ)
    ЗаполнитьНаСервере()
    КонецПроцедуры
```

Обработку прикрепил, вдруг кому пригодится.
---
Как определяет - рассказано в умных книжках )))
Если кратко - нарезается картинка на квадратики 16*16 и выбирается нужный, по порядку.
---
Ну так нарисовано же - если проведен, то берем 7-ю пиктограмму из этого набора картинок...Для удаленны - 8-я, иначе - 6-я... Для этого и существует текст в запросе.