Довелось мне как-то делать механизм импорта документов из 7й версии 2С в 8ю, и, чтобы не добавлять еще одну колонку в список документов для разграничения импортированных документов от основных, я решил реализовать отображение иконки импортированного документа в том виде, в котором он есть в версии 7.7.
Вот как это выглядит на практике:
Для внедрения нужно на событие списка документов ПриПолученииДанных повесить такой простой код:
Запрос = Новый Запрос("ВЫБРАТЬ
| СчетНаОплатуПокупателю.Ссылка КАК Ссылка,
| ВЫБОР
| КОГДА СчетНаОплатуПокупателю.Импортирован
| ТОГДА ВЫБОР
| КОГДА СчетНаОплатуПокупателю.ПометкаУдаления
| ТОГДА 5
| КОГДА СчетНаОплатуПокупателю.Проведен
| ТОГДА 3
| ИНАЧЕ 4
| КОНЕЦ
| КОГДА СчетНаОплатуПокупателю.ПометкаУдаления
| ТОГДА 2
| КОГДА СчетНаОплатуПокупателю.Проведен
| ТОГДА 0
| ИНАЧЕ 1
| КОНЕЦ КАК ИндексКартинки
|ИЗ
| Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
|ГДЕ
| СчетНаОплатуПокупателю.Ссылка В(&МассивДокументов)");
МассивДокументов = Новый Массив;
Соответствие = Новый Соответствие;
Для Каждого Строка из ОформленияСтрок Цикл
МассивДокументов.Добавить(Строка.ДанныеСтроки.Ссылка);
Соответствие.Вставить(Строка.ДанныеСтроки.Ссылка, Строка);
КонецЦикла;
Запрос.УстановитьПараметр("МассивДокументов", МассивДокументов);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ТекущаяСтрока = Соответствие.Получить(Выборка.Ссылка);
ТекущаяСтрока.Ячейки.Картинка.ОтображатьКартинку = ИСТИНА;
ТекущаяСтрока.Ячейки.Картинка.ИндексКартинки = Выборка.ИндексКартинки;
КонецЦикла;
а для колонки Картинка табличного поля списка документов снять галочку ОтображатьСтандартнуюКартинку и свойству КартинкиСтрок присвоить значение такой картинки:
после чего установив ей прозрачный фон в конфигураторе.
скачать docs.bmp (839 Загрузок)
VN:F [1.8.8_1072]
иконки импортированных документов как в 1C 7.7