HelpF.pro

Табличное поле ~ Дополнительные колонки в динамическом списке

В процессе написания кода для отображения дополнительных вычисляемых полей в динамическом списке документов получились вот такие приемы (просто код, без комментариев).
Код 1C v 8.х
 Процедура ДокументСписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
	ТекДокумент = ДанныеСтроки.Ссылка;
	СуммаДокумента = ТекДокумент.Товары.Итог("СуммаСНДС");
	СуммаБезнал = ТекДокумент.Оплата.Итог("СуммаОплаты");
	СуммаНал = ?(СуммаДокумента > СуммаБезнал, СуммаДокумента - СуммаБезнал, 0);
	ОформлениеСтроки.Ячейки.СуммаДокумента.ОтображатьТекст = Истина;
	ОформлениеСтроки.Ячейки.НаличнаяОплата.ОтображатьТекст = Истина;
	ОформлениеСтроки.Ячейки.БезналичнаяОплата.ОтображатьТекст = Истина;
	ОформлениеСтроки.Ячейки.СуммаДокумента.Текст = Формат(СуммаДокумента, "ЧДЦ=2; ЧН=");
	ОформлениеСтроки.Ячейки.НаличнаяОплата.Текст = Формат(СуммаНал, "ЧДЦ=2; ЧН=");
	ОформлениеСтроки.Ячейки.БезналичнаяОплата.Текст = Формат(СуммаБезнал, "ЧДЦ=2; ЧН=");

	//Определяем наличие ПКО
	Если ТекДокумент.ПолучитьОбъект().ПолучитьСвязанныйПКО() <> Неопределено Тогда
		ОформлениеСтроки.Ячейки.ЕстьПКО.ОтображатьКартинку = Истина;
		ОформлениеСтроки.Ячейки.ЕстьПКО.Картинка = БиблиотекаКартинок.ВыполненоУспешно32;
	КонецЕсли;
КонецПроцедуры

Процедура ДокументСписокПриПолученииДанных(Элемент, ОформленияСтрок)
	//Определяем наличие ПКО
	МассивДокументов = Новый Массив;
	Для каждого ТекСтрока Из ОформленияСтрок Цикл
		МассивДокументов.Добавить(ТекСтрока.ДанныеСтроки.Ссылка);
	КонецЦикла;
	Запрос = Новый Запрос("ВЫБРАТЬ Основание ИЗ РегистрСведений.АА_СвязанныеДокументы КАК СД ГДЕ СД.Основание В (&Документы)");
	Запрос.УстановитьПараметр("Документы", МассивДокументов);
	Результат = Запрос.Выполнить().Выгрузить();
	Для Каждого ТекСтрока Из ОформленияСтрок Цикл
		Ссылка = ТекСтрока.ДанныеСтроки.Ссылка;
		ТекСтрока.Ячейки.ЕстьПКО.ЗначениеКартинки = Результат.Найти(Ссылка,"Основание") <> Неопределено;
	КонецЦикла;
КонецПроцедуры   

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/1068.html