Как в 1C 8.2 выделить столбец в форме списка документов?
1С 21711
Иногда заказчику требуется выделить какие-то данные в форме списка документов, чтобы быстрее ориентироваться по списку, например, была ли реализация по заказу покупателя или полностью ли клиент оплатил товары. Эта заметка подскажет как это сделать.
Совет: перед любым изменением конфигурации, делайте резервную копию!!!
Итак..
Откроем конфигурацию и, например, в документе "ЗаказПокупателя" откроем модуль ФормыСписка.
Добавим функцию ПолучитьСписокПодчиненныхДокументов, которая возвращает 1, если документ найдет, 0 - не найден.
Функция ПолучитьСписокПодчиненныхДокументов(ДокументОснование) Экспорт
Запрос = Новый Запрос;
Запрос.Текст = "
|ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.Сделка = &ДокументОснование";
Запрос.УстановитьПараметр("ДокументОснование", ДокументОснование);
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
Если СокрЛП(ТипЗнч(Выборка.Ссылка)) = "Реализация товаров и услуг" Тогда
Возврат 1;
КонецЕсли;
КонецЦикла;
Возврат 0;
КонецФункции
И в процедуре СписокПриПолученииДанных изменим цвет колонки "Номер" на зеленый, если по заказу была реализация.
////////////////////////////////////////////////////////////////////////////////
// ПРОЦЕДУРЫ - ОБРАБОТЧИКИ СОБЫТИЙ списка документов
Процедура СписокПриПолученииДанных(Элемент, ОформленияСтрок)
Для каждого ОформлениеСтроки1 из ОформленияСтрок Цикл
Если ПолучитьСписокПодчиненныхДокументов(ОформлениеСтроки1.ДанныеСтроки.Ссылка) = 1 тогда
ОформлениеСтроки1.Ячейки.Номер.ЦветФона = WebЦвета.ВесеннеЗеленый;
КонецЕсли;
КонецЦикла;
// Начало ЭлектронныеДокументы
Если НЕ мИспользоватьОбменЭД ИЛИ НЕ Элемент.Колонки.СостояниеЭД.Видимость Тогда
Возврат;
КонецЕсли;
//.................
Теперь визуально можно отследить, по каким заказам была создана реализация.