Для БИТ.Строительство я использовал такой код:
Процедура ДобавитьКолонкуНаличиеФайловВСписок(Форма, ОбъектМетаданных, ИмяМетаданных)
ТекстЗапроса = Форма.Список.ТекстЗапроса;
Если СтрНайти(ТекстЗапроса, "КАК НаличиеФайлов") > 0 Тогда
Возврат
КонецЕсли;
ИмяТаблицы = СтрЗаменить(ИмяМетаданных, ".", "");
Если ТекстЗапроса = "" Тогда
ТекстЗапроса = "ВЫБРАТЬ" + Символы.ПС;
Для Каждого Реквизит Из ОбъектМетаданных.Реквизиты Цикл
ТекстЗапроса = ТекстЗапроса + ИмяТаблицы + "." + Реквизит.Имя + "," + Символы.ПС;
КонецЦикла;
Для Каждого Реквизит Из ОбъектМетаданных.СтандартныеРеквизиты Цикл
ТекстЗапроса = ТекстЗапроса + ИмяТаблицы + "." + Реквизит.Имя + "," + Символы.ПС;
КонецЦикла;
Для Каждого ТЧ Из ОбъектМетаданных.ТабличныеЧасти Цикл
ТекстЗапроса = ТекстЗапроса + ИмяТаблицы + "." + ТЧ.Имя + "," + Символы.ПС;
КонецЦикла;
ТекстЗапроса = Лев(ТекстЗапроса, СтрДлина(ТекстЗапроса) - 2) + Символы.ПС;
ТекстЗапроса = ТекстЗапроса + "ИЗ " + ИмяМетаданных + " КАК " + ИмяТаблицы;
Форма.Список.ПроизвольныйЗапрос = Истина;
КонецЕсли;
ПозицияГДЕ = СтрНайти(ТекстЗапроса, Символы.ПС + "ГДЕ", НаправлениеПоиска.СКонца);
Если ПозицияГДЕ = 0 Тогда
ТекстЗапроса = ТекстЗапроса +
"{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
| ПО " + ИмяТаблицы + ".Ссылка = НаличиеФайлов.ОбъектСФайлами}";
Иначе
ТекстЗапроса = Лев(ТекстЗапроса, ПозицияГДЕ - 1) +
"{ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НаличиеФайлов КАК НаличиеФайлов
| ПО " + ИмяТаблицы + ".Ссылка = НаличиеФайлов.ОбъектСФайлами}" + Символы.ПС +
Сред(ТекстЗапроса, ПозицияГДЕ);
КонецЕсли;
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "ВЫБРАТЬ", "ВЫБРАТЬ НаличиеФайлов.ЕстьФайлы КАК ЕстьФайлы,");
Форма.Список.ТекстЗапроса = ТекстЗапроса;
ЭлементСписка = Форма.Элементы.Список;
НовыйЭлемент = Форма.Элементы.Добавить("ЕстьФайлы", Тип("ПолеФормы"), ЭлементСписка);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеКартинки;
НовыйЭлемент.КартинкаЗначений = БиблиотекаКартинок.Скрепка;
НовыйЭлемент.КартинкаШапки = БиблиотекаКартинок.Скрепка;
НовыйЭлемент.ПутьКДанным = "Список.ЕстьФайлы";
НовыйЭлемент.ПоложениеЗаголовка = ПоложениеЗаголовкаЭлементаФормы.Нет;
Форма.Элементы.Переместить(НовыйЭлемент, ЭлементСписка, ЭлементСписка.ПодчиненныеЭлементы[0]);
КонецПроцедуры
Показать