Имя: Пароль:
1C
1С v8
Не могу передать результаты запроса в форму в виде таблицы значений.
0 antipod13
 
04.06.19
08:23
Написал такой код, На строке "Новый ТаблицаЗначений" пишет что тип не определен, а без нее ошибка отображения типов

&НаКлиенте
Процедура ЗаполнитьИтогоИзМеню(Команда)
    //ТабИтого = Новый ТаблицаЗначений;
    ТабИтого = ПолучитьИтогоССервера(Объект.Ссылка);
КонецПроцедуры
&НаСервере
Функция ПолучитьИтогоССервера (Документ)
    ОЗапрос = Новый Запрос;
    ОЗапрос.Текст = "тут запрос";
    ОЗапрос.УстановитьПараметр("Док",Документ);
    РезультатЗапроса = ОЗапрос.Выполнить();
    Возврат РезультатЗапроса.Выгрузить();
КонецФункции
1 Василий Алибабаевич
 
04.06.19
08:26
(0) На клиенте нет типа ТаблицаЗначений. И даже пытаться не стоит. Можно пользовать табличную часть, структуру, или адрес во временном хранилище на сервере.
2 hhhh
 
04.06.19
08:29
(0) делай всё на сервере. Чего ты на клиент поперся?
3 Сияющий в темноте
 
04.06.19
08:29
Если хочется подобие таблицы,то или массив структу или табличный документ,в последнем случае нужно значения писать в расшифровку.
4 Chameleon1980
 
04.06.19
08:40
Объект.ТабИтого.Загрузить(РезультатЗапроса.Выгрузить())
5 antipod13
 
04.06.19
09:04
Мне нужно будет потом расчеты по каждой строке запроса делать и добавлять их в табличную часть документа. Как массив структур сделать?
6 Nuobu
 
04.06.19
09:05
(5) Табличная часть документа доступна на сервере.
7 _stay true_
 
04.06.19
09:17
(5) Используй реквизит формы с типом "ТаблицаЗначений". Ну или таб.часть запили.

А массив структур делается так:
МассивСтруктур = Новый Массив;

Для Каждого СтрокаТЗ Из ТвояТЗ Цикл
СтрокаСтруктура = Новый Структура;
//Сформируем структуру строку ТЗ
Для Каждого Колонка Из ТвояТЗ.Колонки Цикл
СтрокаСтруктура.Вставить(Колонка.Имя, СтрокаТЗ[Колонка.Имя]);
КонецЦикла;
Массив.Дбавить(СтрокаСтруктура);
КонецЦикла;

И возвращай на клиент
8 Smile 8D
 
04.06.19
09:21
(5) Клиент-серверная архитектура предполагает, что на клиенте выполняются только действия, зависящие от поведения пользователя. Все что можно выполнить на сервере - лучше там и выполнять.
9 antipod13
 
04.06.19
09:54
Все сделал, спасибо.
Программист всегда исправляет последнюю ошибку.