artbear писал(а) 18. Апреля 2008 :: 13:15:JohnyDeath писал(а) 18. Апреля 2008 :: 13:11: Цитата:типзначенияСтр(Колонки) = ""
типЗначенияСтр(_БазаТП.Колонки) = ""
ТипЗначенияСтр(Сам().Колонки) = ""
Ну вот и ответ
У тебя же в классе есть Перем Колонки Экспорт.
Тебе на это давно намекали
Нету. На основе чего вы это утверждаете?
Вот текст всего класса:
// ТПЗапросТЗ
Перем _БазаТП Экспорт;
Перем _Конт;
Перем БД,Запрос;
Функция Этот(Конт) Возврат Конт; КонецФункции
Функция Сам() Возврат Этот(Контекст) КонецФункции
//------------------------------------ ------------------------------------
Процедура Конструктор()
_БазаТП = Этот(Контекст).ПолучитьБазовыйКласс("ТабличноеПоле");
КонецПроцедуры // Конструктор
//--------------------------------------------
Процедура СоздатьКолонкиПоИсточнику(тзСсылка, фИзменениеРазмера=1, фНомерСтроки=0) Экспорт
Перем Заголовок, Ширина, Положение;
Если фНомерСтроки=1 Тогда
НоваяКолонка=_БазаТП.Колонки.Добавить("НомерСтроки");
НоваяКолонка.Заголовок="№ строки";
НоваяКолонка.Данные="НомерСтроки";
НоваяКолонка.Ширина=30;
НоваяКолонка.ИзменениеРазмера=фИзменениеРазмера;
КонецЕсли;
Для ъ=1 По тзСсылка.КоличествоКолонок() Цикл
идКолонки=тзСсылка.ПолучитьПараметрыКолонки(ъ,,,, Заголовок, Ширина,, Положение);
Если тзСсылка.ВидимостьКолонки(идКолонки)=0 Тогда Продолжить; КонецЕсли;
//НоваяКолонка(тпСсылка, идКолонки, Заголовок, Ширина, ИзменениеРазмера, Положение, 0);
Сообщить(""+идКолонки,"i");
НоваяКолонка=_БазаТП.Колонки.Добавить(идКолонки);
НоваяКолонка.Заголовок=Заголовок;
НоваяКолонка.Данные=идКолонки;
НоваяКолонка.ГоризонтальноеВыравнивание=Положение;
НоваяКолонка.Ширина=?(Ширина>0, Ширина, 15)*6.2;
НоваяКолонка.ИзменениеРазмера=фИзменениеРазмера;
КонецЦикла;
КонецПроцедуры
//--------------------------------------------
Функция Выполнить(ТекстЗапроса, флОтладка=0) Экспорт
Запрос.Отладка(флОтладка);
Возврат Запрос.ВыполнитьИнструкцию(ТекстЗапроса);
КонецФункции // Выполнить
//--------------------------------------------
Функция ВыполнитьИОтобразить(ТекстЗапроса, флОтладка=0) Экспорт
тзИсточник=Сам().Выполнить(ТекстЗапроса, флОтладка);
Сам().ПоставщикДанных = "";
// НоваяКолонка=Сам().ПолучитьБазовыйКласс().Колонки.Добавить("Первая");
//Сам().СоздатьКолонкиПоИсточнику(тзИсточник,1,1);
Поставщик=СоздатьОбъект("ПоставщикДанныхТЗ");
Поставщик.УстТаблицуЗначений(тзИсточник);
Сам().ПоставщикДанных = Поставщик;
//Сам().ОбновитьСтроки();
Возврат тзИсточник;
КонецФункции// ВыполнитьИОтобразить
//--------------------------------------------
Процедура СоздатьКолонкуТП(идКолонки) Экспорт
НоваяКолонка=Сам().Колонки.Добавить(идКолонки);
НоваяКолонка.Заголовок=идКолонки;
КонецПроцедуры
//--------------------------------------------
Процедура УстановитьТекстовыйПараметр(идПараметра,Параметр) Экспорт
Запрос.УстановитьТекстовыйПараметр(идПараметра,Параметр);
КонецПроцедуры // УстановитьТекстовыйПараметр
//--------------------------------------------
Функция Создать(идЭлементаНаформе, КонтФормы) Экспорт
БД=СоздатьОбъект("OLEDBData");
СтрокаСоединения="Provider=VFPOLEDB.1;Deleted=Yes;Data Source="+КаталогИБ()+";Mode=ReadWrite;Collating Sequence=Machine";
Рез=БД.Соединение(СтрокаСоединения);
Запрос=БД.СоздатьКоманду();
_Конт=КонтФормы;
Форма=СоздатьОбъект("Форма");
//тпНаФорме=Форма.СоздатьЭлементУправленияНаФорме(_Конт.Форма, "ТабличноеПоле", идЭлементаНаформе);
Возврат Форма.СоздатьЭлементУправленияНаФорме(_Конт.Форма, "ТабличноеПоле", идЭлементаНаформе);
КонецФункции// Создать