JohnyDeath писал(а) 16. Декабря 2009 :: 14:22:1) для поставщика ИндексированнаяТаблица и ТаблицаЗначений можно было сделать метод "АвтоСозданиеКолонок", чтоб не перебирать каждый раз все колонки ИТЗ для создания аналогичных в ТП
Хорошее предложение по поводу автосоздания колонок. Только вот АвтоСозданиеКолонок как признак мне не очень нравится.
А вот такой вариант:
JohnyDeath писал(а) 16. Декабря 2009 :: 14:22:4) {поток мыслей} Можно сделать метод "ЗагрузитьИзЗапроса", куда передавать текст Прямого запроса. Этот метод выполняет запрос в ИТЗ и далее п.2.
представь, как может сократиться клиентский код. А задач, где надо отобразить данные, полученные запросом немеряно (по крайней мере у меня).
пне нравится даже больше. Более того я бы сказал что это очень заманчивый вариант. Поскольку открываются большие горизонты по перекладыванию пользовательского кода на классы. Например:
реализация параметра ПрямойЗапрос, в поставщике ИТЗ который может принимать объект ПрямойЗапрос, с которым работает программист. И соответственно создание таблицы по тому результату что дает данный класс. Типизацию колонок поставщика и их создание можно переложить на класс. Т.о. можно избавиться вообще от всех проблем разом, которые ты описал в том сообщении.
Например:
ПоставщикДанных = СоздатьОбъект("ПоставщикДанных");
ПоставщикДанных.ТипЗначений = "ИндексированнаяТаблица";
и т.д.
Данные = ПоставщикДанных.Данные;
ПрямойЗапрос = СоздатьОбъект("ПрямойЗапрос");
ПрямойЗапрос.Текст = "select * from Справочник.Контрагенты";
Данные.ПрямойЗапрос = ПрямойЗапрос;
Данные.ЗаполнитьИзЗапроса();
При этом если сам КОП найдет соответствие ИДКолонки - Типизация то он типизирует колонки, если нет, то их тип = Неопределенный.
Вот эта идея мне нравится.

Кстати если начало 10-го года будет реализация пользователи 1С 7.7 еще останутся?

Пы.сы. ПрямойЗапрос как атрибут можно не реализовывать, а сделать просто его параметром метода. Причем параметром можно сделать как объект Запрос (1С) так и ПрямойЗапрос (КОП).