изменить представление в ДеревеЗначений

Версия для печатиPDF-версия

в 7.7 когда мы добавляли значение в список значений - там было само значение и его представление - было очень удобно. такое осталось в управляемых формах?

 

есть конфигурация управление не большой фирмы 1.6

там есть обработка РасчетПотребностей

там есть дерево значений, в нем есть колонка Номенклатура - составного типа (СправочникСсылка.Номенклатура, ДокументСсылка.ЗаказПокупателя, ДокументСсылка.ЗаказНаПроизводство, Строка, ДокументСсылка.ЗаказПоставщику)

нужно изменить стандартное представление документов Заказ клиента:

с "Заказ покупателя 1 от 10.10.2016" на "Заказ покупателя 1 от 10.10.2016  Кл: ИП Иванов Д.С."

но если я меняю в строчках занесения в таблицу - то тип значения становится строка, и тогда перестает работать расшифровка - т.е. теперь нельзя зайти в заказ по двойному клику

Список значений и Дерево значений - это совершенно разные объекты. В списках значений остались Значение и Представление.

А в дереве значений для этого придётся добавлять специальную колонку.

Согласен и понимаю! но можно ли в дереве значений хранить значение типа документ, а при его отображении выводить некую строку, которая состоит или как-либо реквизитов (нужных мне) ? но чтобы в дереве по прежнему хранилось значение типа документссылка ?

Можно, конечно, изменить представление документа через события менеджера документа, но тогда это изменённое представление будет везде показываться вместо стандартного.

а как это можно сделать?

В модуле менеджера документа Заказ покупателя в процедуру ОбработкаПолученияПолейПредставления нужно добавить строку:

	Поля.Добавить("Контрагент");

А в процедуре ОбработкаПолученияПредставления этот код:

	Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
		НСтр("ru='%1 %2 от %3 %4'"),
		ЗаголовокПредставление,
		?(Данные.Свойство("Номер"), ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(Данные.Номер, Истина, Истина), ""),
		Формат(Данные.Дата, "ДЛФ=D"),
		Состояние);

заменить на подобный этому:

	Представление = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
		НСтр("ru='%1 %2 от %3. Кл.%4 %5'"),
		ЗаголовокПредставление,
		?(Данные.Свойство("Номер"), ПрефиксацияОбъектовКлиентСервер.ПолучитьНомерНаПечать(Данные.Номер, Истина, Истина), ""),
		Формат(Данные.Дата, "ДЛФ=D"),
		?(ЗначениеЗаполнено(Данные.Контрагент), Данные.Контрагент.Наименование, "не указан"),
		Состояние);

ПС. Код взят из релиза УНФ 1.6.6.39. В других релизах код может отличаться.

Огромное, спасибо за детальный ответ. все супер. все получилось. то что надо!!!!