В данном примере я буду решать такую задачу - конфигурация УТ 10.3, в списке счетов на оплату покупателю необходимо отразить состояния счетов в зависимости от подчиненных документов.
Например, если пришла оплата по счету (в виде банковской выписки, оплаты картой или оплаты в кассу), нужно, чтобы в колонке "статус" отображался документ оплаты и строка данного счета полностью окрашивалась в зеленый цвет, если же на основании счета создавалась реализация товара, цвет строки меняется на другой. Таким образом, пользователь может видеть, что статус документа поменялся.
1. Создаем внешнюю обработку, в нее переносим форму списка счетов на оплату.
2. Создаем колонку "Статус" и указываем ей необходимые типы значений.
3. Создаем функцию, которая запросом получает последний подчиненный документ.
&НаСервере
Функция ПоследнийСвязанныйДокумент(СсылкаДок)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| СвязанныеДокументы.Ссылка КАК Ссылка
|ИЗ
| КритерийОтбора.СвязанныеДокументы(&СсылкаДок) КАК СвязанныеДокументы
|ГДЕ
| СвязанныеДокументы.Ссылка.Проведен
|
|УПОРЯДОЧИТЬ ПО
| СвязанныеДокументы.Ссылка.Дата УБЫВ";
Запрос.УстановитьПараметр("СсылкаДок", СсылкаДок);
Результат = Запрос.Выполнить();
Выборка =Результат.Выбрать();
Выборка.Следующий();
Возврат Выборка.Ссылка;
КонецФункции
4. Устанавливаем условное оформление.
Для Каждого Стр из ОформленияСтрок цикл
СвязанныйДокумент =ПоследнийСвязанныйДокумент(Стр.ДанныеСтроки.Ссылка);
Стр.ячейки.Статус.УстановитьТекст(СвязанныйДокумент);
Если ТипЗнч(СвязанныйДокумент) =Тип("ДокументСсылка.РеализацияТоваровУслуг") Тогда
Стр.Ячейки.Статус.ЦветФона = Новый Цвет(255,210,0);
КонецЕсли;
Если ТипЗнч(СвязанныйДокумент) =Тип("ДокументСсылка.ОплатаОтПокупателяПлатежнойКартой") или
ТипЗнч(СвязанныйДокумент) =Тип("ДокументСсылка.ПлатежноеПоручениеВходящее") или
ТипЗнч(СвязанныйДокумент) =Тип("ДокументСсылка.ПриходныйКассовыйОрдер") Тогда
Стр.Ячейки.Статус.ЦветФона = Новый Цвет(144,238,144);
КонецЕсли;
КонецЦикла;
В итоге, список счетов на оплату покупателю имеет необходимую колонку Статус, в которой для каждого счета указан последний подчиненный документ.
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 10.3, релизы 10.3.88.3