kiruha писал(а) 18. Апреля 2008 :: 12:02:Не понял насчет обрабатывать в классе.
Работает без обработки в классе.
Достаточно только
НоваяКолонка=ЕщёОдноТП.Колонки.Добавить()
В классе есть процедура:
Процедура СоздатьКолонкиПоИсточнику(тзСсылка, фИзменениеРазмера=1, фНомерСтроки=0) Экспорт
Перем Заголовок, Ширина, Положение;
Если фНомерСтроки=1 Тогда
НоваяКолонка=ТаблПоле.Колонки.Добавить("НомерСтроки"); ///ВОТ ТУТ ХОТЕЛ САМ()
НоваяКолонка.Заголовок="№ строки";
НоваяКолонка.Данные="НомерСтроки";
НоваяКолонка.Ширина=30;
НоваяКолонка.ИзменениеРазмера=фИзменениеРазмера;
КонецЕсли;
Для ъ=1 По тзСсылка.КоличествоКолонок() Цикл
идКолонки=тзСсылка.ПолучитьПараметрыКолонки(ъ,,,, Заголовок, Ширина,, Положение);
Если тзСсылка.ВидимостьКолонки(идКолонки)=0 Тогда Продолжить; КонецЕсли;
НоваяКолонка=ТаблПоле.Колонки.Добавить(идКолонки); //И ТУТ ТОЖЕ ХОТЕЛ САМ()
НоваяКолонка.Заголовок=Заголовок;
НоваяКолонка.Данные=идКолонки;
НоваяКолонка.ГоризонтальноеВыравнивание=Положение;
НоваяКолонка.Ширина=?(Ширина>0, Ширина, 15)*6.2;
НоваяКолонка.ИзменениеРазмера=фИзменениеРазмера;
КонецЦикла;
КонецПроцедуры
ну и при выполнении и отображении хочу, чтобы сразу на форму падало нормальное ТП, передав только текст запроса:
Функция ВыполнитьИОтобразить(ТекстЗапроса, флОтладка=0) Экспорт
тзИсточник=Сам().Выполнить(ТекстЗапроса, флОтладка);
Сам().ПоставщикДанных = "";
//НоваяКолонка=_БазаТП.Колонки.Добавить("Первая");
Сам().СоздатьКолонкиПоИсточнику(тзИсточник,1,1);
Поставщик=СоздатьОбъект("ПоставщикДанныхТЗ");
Поставщик.УстТаблицуЗначений(тзИсточник);
Сам().ПоставщикДанных = Поставщик;
//Сам().ОбновитьСтроки();
Возврат тзИсточник;
КонецФункции// ВыполнитьИОтобразить