Я долго искал микрографики для динамических списков, нашел публикацию для табличиных частей на управляемых формах, но ничего не нашел для динамических списков и решил сделать самостоятельно.
Что такое микрографик? Микрографик - это столбец, который в графическом виде представляет информацию изменения какой-либо величины. Этот вид представления значительно удобнее обычного числового представления.
Основная идея встраивания мигрографика в собственный динамический список в любую конфигурацию на 1С:Предприятие 8.2 - вставка одинаковых символов и для разного процента, разное количество этих символов, чем больше процент тем больше символов, ну и соответственно чем процент меньше, тем и символов меньше.
В качестве 100% процентов берется строка шаблон например "|||||||||||||||||||||||||||". И для заданного процента выводится часть этой строки.
Последовательность шагов для внедрения в свой динамический список:
1. Мы в настройках динамического списка указываем, что это произвольный запрос.
2. В запросе добавляем столбец:
ПОДСТРОКА(&СтрокаПроценты, 1, ВЫРАЗИТЬ(Процент *&КоэффициентПроценты КАК ЧИСЛО(3, 0))) КАК ПроцентМикрографик
Поле "Процент" замените на Ваш столбец с процентом.
3. Добавляем этот столбец в динамический список на форму
4. При начале работы заполняем параметры в запросе динамического списка СтрокаПроценты и КоэффициентПроценты.
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Задать для каждого случая конкретно
// В этой строке содержится шаблон для 100%
// В реальной задаче можете изменить длинну, или заполнить другими символами
СтрокаПроценты = "|||||||||||||||||||||||||||";
//СтрокаПроценты = "*************************";
//СтрокаПроценты = "`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;`32;";
//СтрокаПроценты = "·························";
//СтрокаПроценты = "•••••••••••••••••••••••••";
// Считается автоматически
ДлинаСтрокаПроценты = СтрДлина(СтрокаПроценты);
КоэффициентПроценты = ДлинаСтрокаПроценты / 100;
ДинСписок.Параметры.УстановитьЗначениеПараметра("СтрокаПроценты", СтрокаПроценты);
ДинСписок.Параметры.УстановитьЗначениеПараметра("КоэффициентПроценты", КоэффициентПроценты);
...
В обработке к публикации, прилагается пример использования микрографиков для динамического списка, в котором есть несколько видов оформления, а так же изменение процента в "ран-тайм". Все сдално именно для процентов, но никто не мешает использовать для произвольных величин. Это лишь пример.