Колонка с произвольными данными

Allexei

Well-known member
02.05.2008
322
1
#1
В 1с 7.7 можно было при открытии справочника рассчитать произвольные данные по каждому элементу и вывести их в общем списке справочника. Как в 8.1 так сделать не соображу. Для большей наглядности опишу примерно задачу- Есть обработка, на обработке табличное поле у которого источник данных справочник список. Для каждого элемента в справочник в ПВХ задано определенное значение. Как вывести это значение вместе с элементами.
 

Zab

Well-known member
07.08.2006
583
0
#2
Обработать одно из событий ТП:
Код:
Процедура ТППриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
ОформлениеСтроки.Ячейки.Комментарий.Текст = ПолучитьЗначениеПВХ(ДанныеСтроки);
ОформлениеСтроки.Ячейки.Комментарий.ОтображатьТекст = Истина;
КонецПроцедуры
Код:
Процедура ТППриПолученииДанных(Элемент, ОформленияСтрок)
Для каждого СтрокаОС Из ОформленияСтрок Цикл
СтрокаОС.Ячейки.Комментарий.ОтображатьТекст = Истина;
СтрокаОС.Ячейки.Комментарий.Текст = ПолучитьЗначениеПВХ(СтрокаОС.ДанныеСтроки);
КонецЦикла; 	
КонецПроцедуры
Код не проверял, возможны баги. Но суть должна быть ясна.
 

unknown181538

НеГуру
28.12.2008
1 417
0
#3
Ну и можно оптимизировать - кэшировать в таблицу, получать данные запросом по списку, если надо...
 

Allexei

Well-known member
02.05.2008
322
1
#4
unknown181538 , сделал как Вы и сказали. Не очень красиво но....работает.
Zab - что то не работает так как Вы сказали. И не понял что вы подразумеваете под коментарием- реквизит объекта выводимого в таблицу значений или же дополнительную колонку которую я добавил в эту таблицу значений.Если доп колонку- то ее по " ОформлениеСтроки.Ячейки.Комментарий" - нет, есть только колонки принадлежашие объекту(хотя в таблица значений я ее добавил). Если же это реквизит объекта, то это не совсем то что мне нужно, так как выводится несколько ПВХ, "коментариев" не хватит :)
 

Дайнеко

Well-known member
19.11.2009
951
0
#5
unknown181538 , сделал как Вы и сказали. Не очень красиво но....работает.
Zab - что то не работает так как Вы сказали
Вот что мы принимаем на форуме, так это честность. Не знаешь - так и скажи. Не понял - переспроси.
Как можно сделать совет unknown181538, если не понять элементарного текста Zab? :)

Пожалуйста, приведите свой текст, который пусть и некрасиво, но работает.
"Комментарий" - это так программист назвал колонку ТЗ.
 

Allexei

Well-known member
02.05.2008
322
1
#6
Дайнеко Обработчик на активизации строки другой т.ч. Формируется список ячеек для склада.
Код:
Процедура тпСкладыПриАктивизацииСтроки(Элемент)
Запрос= Новый Запрос("ВЫБРАТЬ
|	СкладскиеЯчейки.Ссылка,
|	КатегорияТовара.ЗначениеВИзмерении
|ПОМЕСТИТЬ КатегорияТовара
|ИЗ
|	Справочник.СкладскиеЯчейки КАК СкладскиеЯчейки
|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК КатегорияТовара
|		ПО СкладскиеЯчейки.Ссылка = КатегорияТовара.Объект
|ГДЕ
|	СкладскиеЯчейки.Владелец = &Владелец
|	И КатегорияТовара.Свойство = &СвойствоКатегорияТовара
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|	СкладскиеЯчейки.Ссылка,
|	Метраж.Значение
|ПОМЕСТИТЬ МетражЯчеек
|ИЗ
|	Справочник.СкладскиеЯчейки КАК СкладскиеЯчейки
|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДополнительныеСведения КАК Метраж
|		ПО СкладскиеЯчейки.Ссылка = Метраж.Объект
|ГДЕ
|	Метраж.Свойство = &СвойствоМетраж
|	И СкладскиеЯчейки.Владелец = &Владелец
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
|	СкладскиеЯчейки.Ссылка,
|	КатегорияТовара.ЗначениеВИзмерении КАК КатегорияСкладскойЯчейки,
|	МетражЯчеек.Значение КАК Метраж,
|	СкладскиеЯчейки.Наименование,
|	СкладскиеЯчейки.Код КАК Адрес
|ИЗ
|	Справочник.СкладскиеЯчейки КАК СкладскиеЯчейки
|		ЛЕВОЕ СОЕДИНЕНИЕ КатегорияТовара КАК КатегорияТовара
|		ПО СкладскиеЯчейки.Ссылка = КатегорияТовара.Ссылка
|		ЛЕВОЕ СОЕДИНЕНИЕ МетражЯчеек КАК МетражЯчеек
|		ПО СкладскиеЯчейки.Ссылка = МетражЯчеек.Ссылка
|ГДЕ
|	СкладскиеЯчейки.Владелец = &Владелец");
Запрос.УстановитьПараметр("Владелец"						 , Элемент.ТекущаяСтрока);
Запрос.УстановитьПараметр("СвойствоМетраж"			 , ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Метраж"));
Запрос.УстановитьПараметр("СвойствоКатегорияТовара", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Складская ячейка-Категория ячейки"));
тпСкладскиеЯчейки= Запрос.Выполнить().Выгрузить(); 
КонецПроцедуры
Как можно сделать совет unknown181538, если не понять элементарного текста Zab?
Очень просто. Колонка "Комментарий" является типовой для многих объектов метаданных. Вот я и спрашиваю что имелось в виду стандартное поле комментария или произвольно добавленная колонка в таблице значений(которую обычно называют тип "Ваша_колонки"). Кстати нашел косяк - в именах таблиц напутал..Zab был прав. Мега плюс ему. Но остановлюсь на варианте с запросом ибо уже сделано.
 

Дайнеко

Well-known member
19.11.2009
951
0
#8
а.. :( у меня закралась мысль, что все обманулись в задании, изложенном автором.
"Я всегда чувствую" (Доцент)