Делюсь кодом, как можно добавить на форму списка колонку флажка из связанного с документом регистра сведений. На примере вывода флажка, что поступил оригинал документа.
Использую новомодную схему запросов. Код, конечно, не идеальный, но рабочий, костыльный.
ИмяДинамическогоСписка = Эл.ПутьКДанным;
ДС = Форма[ИмяДинамическогоСписка];
//http://infostart.ru/public/307045/ - по схеме запроса тут...
СхемаЗапроса = Новый СхемаЗапроса();
СхемаЗапроса.УстановитьТекстЗапроса(ДС.ТекстЗапроса);
ЗапросВыбораИзИБ = СхемаЗапроса.ПакетЗапросов[0];
ОператорВыбораДанных = ЗапросВыбораИзИБ.Операторы[0];
ПсевдонимОсновнойТаблицы = ОператорВыбораДанных.Источники[0].Источник.Псевдоним;
ДопИсточник = ОператорВыбораДанных.Источники.Добавить("РегистрСведений._ПолученОригинал","_ПолученОригинал");
ДопИсточник.Соединения.Добавить(ПсевдонимОсновнойТаблицы, "_ПолученОригинал.Документ = " + ПсевдонимОсновнойТаблицы + ".Ссылка");
ДопИсточник.Соединения[0].ТипСоединения = ТипСоединенияСхемыЗапроса.ПравоеВнешнее;
ОператорВыбораДанных.ВыбираемыеПоля.Добавить("_ПолученОригинал.ПолученОригинал");
ЗапросВыбораИзИБ.Колонки[ЗапросВыбораИзИБ.Колонки.Количество() - 1].Псевдоним = "_ПолученОригинал";
//ВыбираемыеПоля
ДС.ТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса();
Элемент = Форма.Элементы.Добавить("_ПолученОригинал", Тип("ПолеФормы"), Эл);
Элемент.Вид = ВидПоляФормы.ПолеФлажка;
Элемент.ПутьКДанным = Эл.ПутьКДанным + "._ПолученОригинал";
Список документов в форме можно найти примерно таким кодом:
Эл = Неопределено;
ИскСписокДокументов = Неопределено;
Для Каждого Эл Из ЭтаФорма.Элементы Цикл
Если Найти(Эл.Имя, "СписокДокументы") = 1 Тогда
ИскСписокДокументов = Эл;
Прервать;
КонецЕсли;
КонецЦикла;
Да, тупо по наименованию, но в типовых, слава богу, всё однообразно именуется.
Journal information