Нет, однозначно "Таблица" не относится к зарезервированным словам, следующий код работает точно так же как и предидущий:
Процедура КнопкаСформироватьНажатие(Кнопка)
Построитель = Новый ПостроительОтчета;
Построитель.Текст =
"ВЫБРАТЬ
| ТоварыПереданные.Номенклатура КАК Номенклатура,
| ТоварыПереданные.Контрагент КАК Контрагент,
| СУММА(ТоварыПереданные.Количество) КАК Количество
|ИЗ
| РегистрНакопления.ТоварыПереданные КАК ТоварыПереданные
|
|СГРУППИРОВАТЬ ПО
| ТоварыПереданные.Номенклатура,
| ТоварыПереданные.Контрагент
|ИТОГИ
| СУММА(Количество)
|ПО
| Номенклатура,
| Контрагент";
Построитель.ЗаполнитьНастройки();
ТаблицаНеРезерв = ЭлементыФормы.Резултат.ВстроенныеТаблицы.СводнаяТаблица1;
ТаблицаНеРезерв.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Лед);
Построитель.Выполнить();
ТаблицаНеРезерв.ИсточникДанных = Построитель;
//ТаблицаНеРезерв.ОтображатьПоля = Истина;
ТаблицаНеРезерв.Поля.Добавить(ТаблицаНеРезерв.Поля.Номенклатура);
ТаблицаНеРезерв.Колонки.Добавить(ТаблицаНеРезерв.Поля.Контрагент);
ТаблицаНеРезерв.Данные.Добавить(ТаблицаНеРезерв.Поля.Количество);
Построитель.Макет.Показать();
КонецПроцедуры
Зато, ниже изложенный код работает без ошибок но поля приходится устанавливать вручную, при формировании отчета:
Процедура КнопкаСформироватьНажатие(Кнопка)
Построитель = Новый ПостроительОтчета;
Построитель.Текст =
"ВЫБРАТЬ
| ТоварыПереданные.Номенклатура КАК Номенклатура,
| ТоварыПереданные.Контрагент КАК Контрагент,
| СУММА(ТоварыПереданные.Количество) КАК Количество
|ИЗ
| РегистрНакопления.ТоварыПереданные КАК ТоварыПереданные
|
|СГРУППИРОВАТЬ ПО
| ТоварыПереданные.Номенклатура,
| ТоварыПереданные.Контрагент
|ИТОГИ
| СУММА(Количество)
|ПО
| Номенклатура,
| Контрагент";
Построитель.ЗаполнитьНастройки();
ТаблицаНеРезерв = ЭлементыФормы.Резултат.ВстроенныеТаблицы.СводнаяТаблица1;
ТаблицаНеРезерв.МакетОформления = ПолучитьМакетОформления(СтандартноеОформление.Лед);
Построитель.Выполнить();
ТаблицаНеРезерв.ИсточникДанных = Построитель;
ТаблицаНеРезерв.ОтображатьПоля = Истина;
//ТаблицаНеРезерв.Поля.Добавить(ТаблицаНеРезерв.Поля.Номенклатура);
//ТаблицаНеРезерв.Колонки.Добавить(ТаблицаНеРезерв.Поля.Контрагент);
//ТаблицаНеРезерв.Данные.Добавить(ТаблицаНеРезерв.Поля.Количество);
Построитель.Макет.Показать();
КонецПроцедуры
Получается, что "ПостроительОтчета" прекрасно передается в "СводнуюТаблицу". Проблема в том, что я не правельно устанавливаю поля програмным образом, т. е. вот эти строчки не верны:
//ТаблицаНеРезерв.Поля.Добавить(ТаблицаНеРезерв.Поля.Номенклатура);
//ТаблицаНеРезерв.Колонки.Добавить(ТаблицаНеРезерв.Поля.Контрагент);
//ТаблицаНеРезерв.Данные.Добавить(ТаблицаНеРезерв.Поля.Количество);
Как правельно программно установить поля для сводной таблицы???