Имя: Пароль:
1C
1С v8
Ошибка "нельзя изменять поле содержащее объект данных формы"
,
0 Pyryrym
 
14.07.20
15:07
Есть форма, в которой в качестве реквизитов имеются ТЗ Табл1 и Сумма1.
Необходимо в документе заказ клиента найти все заказы с суммой больше Сумма1 и выгрузить в таблицу Табл1.

Вот код:
&НаСервере
Процедура дйОтправитьНаСервере()
    ЗапросНаДату = Новый Запрос;
    МВТ = Новый МенеджерВременныхТаблиц;
    ЗапросНаДату.МенеджерВременныхТаблиц = МВТ;
    ЗапросНаДату.УстановитьПараметр("Сумма",Сумма1);
    ЗапросНаДату.Текст = "ВЫБРАТЬ
                         |    ЗаказКлиента.СуммаДокумента КАК Сумма,
                         |    ЗаказКлиента.Ссылка КАК Ссылка
                         |ПОМЕСТИТЬ Табл2
                         |ИЗ
                         |    Документ.ЗаказКлиента КАК ЗаказКлиента
                         |ГДЕ
                         |    ЗаказКлиента.СуммаДокумента > &Сумма";
    Табл1 = ЗапросНаДату.Выполнить().Выгрузить();    
КонецПроцедуры

&НаКлиенте
Процедура дйОтправить(Команда)
    дйОтправитьНаСервере();
КонецПроцедуры

На что выдает ошибку нельзя изменять поле содержащее объект данных формы
1 zippygrill
 
14.07.20
15:13
т1 = РеквизитФормыВЗначение("Табл1");
т1= ЗапросНаДату.Выполнить().Выгрузить();
ЗначениеВРеквизитФормы(т1, "Табл1");
2 zippygrill
 
14.07.20
15:14
это наКой?

МВТ = Новый МенеджерВременныхТаблиц;
    ЗапросНаДату.МенеджерВременныхТаблиц = МВТ;
3 FIXXXL
 
14.07.20
15:26
вместо
Табл1 = ЗапросНаДату.Выполнить().Выгрузить();
пиши
Табл1.Загрузить(ЗапросНаДату.Выполнить().Выгрузить());

остальное - без комментариЁв :)
Основная теорема систематики: Новые системы плодят новые проблемы.