Имя: Пароль:
1C
1С v8
Загрузка mxl в ТЗ
0 Timekiller
 
28.04.15
16:56
Имеется код:
// Читаем mxl
ТабДок = Новый ТабличныйДокумент;
ТабДок.Прочитать(Объект.Файл);
// Получаем ТЗ
ПЗ = Новый ПостроительЗапроса;
ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область(1, 1, ТабДок.ВысотаТаблицы, ТабДок.ШиринаТаблицы));
ПЗ.Выполнить();
ТЗ = ПЗ.Результат.Выгрузить();


Появляется ошибка:
{Форма.Форма.Форма(12)}: Ошибка при получении значения атрибута контекста (Результат)
    ТЗ = ПЗ.Результат.Выгрузить();
по причине:
{(1, 1)}: Ожидается выражение "ВЫБРАТЬ"


Разве нужно писать запрос, чтобы данный код отработал?
Управляемые формы. УТ 11.1.

Пробовал добавлять
ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
ПЗ.ЗаполнитьНастройки();
1 rabbidX
 
28.04.15
17:12
Построителем отчета на пробовал?
2 rabbidX
 
28.04.15
17:15
Работающий код:

ПостроительОтчета = Новый ПостроительОтчета;
    
ПостроительОтчета.ИсточникДанных = Новый
ОписаниеИсточникаДанных(ТаблицаИзменений);
    
ПостроительОтчета.ЗаполнитьНастройки();

ПостроительОтчета.Вывести(ЭлементыФормы.ПолеТабличногоДокумента1);
3 Timekiller
 
28.04.15
18:43
(2) Бред вы пишите сударь. Мне в ТЗ нужно табличный документ загрузить, а не вывести его на форму. Да и код для обычных форм.

Разобрался, надо было колонки переименовать в табличном документе.
&НаСервере
Процедура ЗагрузитьДанныеВПромежуточнуюТаблицуНаСервере()
    // Читаем mxl
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Прочитать(Объект.Файл);
    Для К = 1 По ТабДок.ШиринаТаблицы Цикл ТабДок.Область("R1C" + Формат(К, "ЧГ=0")).Текст = "Колонка" + К КонецЦикла;
    // Получаем ТЗ
    ОбщаяТЗДанных = ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабДок);
КонецПроцедуры

&НаСервере
Функция ПолучитьТаблицуЗначенийИзТабличногоДокумента(ТабДок)
    ПЗ = Новый ПостроительЗапроса;
    ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область(1, 1, ТабДок.ВысотаТаблицы, ТабДок.ШиринаТаблицы));
    ПЗ.Выполнить();
    Возврат ПЗ.Результат.Выгрузить();
КонецФункции