Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
09 окт 2024, 04:30

выгрузка таблицу формы

Автор Aslay, 14 ноя 2018, 15:18

0 Пользователей и 1 гость просматривают эту тему.

Aslay

приветствую. Выборка цен праис листа с остатками, как выгрузить результат выборки в таблицу формы? (в форме создал табличнуюЧасть1, в нее пытаюсь выгрузить). Понимаю что результат на клиенте пишется, а вот как их.

Цитировать&НаСервере
Процедура сформироватьНаСервере()
   // Вставить содержимое обработчика.
   Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
               |   товарынаскладах.Номенклатура,
               |   товарынаскладах.Склад,
               |   товарынаскладах.ВНаличии,
               |   товарынаскладах.Номенклатура.Артикул
               |ПОМЕСТИТЬ ВТ_остатки
               |ИЗ
               |   РегистрНакопления.ТоварыНаСкладах КАК товарынаскладах
               |;
               |
               |////////////////////////////////////////////////////////////////////////////////
               |ВЫБРАТЬ
               |   ценыноменклатуры.Номенклатура,
               |   ценыноменклатуры.Цена
               |ПОМЕСТИТЬ ВТ_цена
               |ИЗ
               |   РегистрСведений.ЦеныНоменклатуры КАК ценыноменклатуры
               |;
               |
               |////////////////////////////////////////////////////////////////////////////////
               |ВЫБРАТЬ
               |   ВТ_остатки.Номенклатура КАК наименоваие,
               |   ВТ_остатки.Склад КАК склад,
               |   ВТ_остатки.ВНаличии КАК остаток,
               |   ВТ_цена.Цена КАК цена
               |ИЗ
               |   ВТ_остатки КАК ВТ_остатки
               |      ЛЕВОЕ СОЕДИНЕНИЕ ВТ_цена КАК ВТ_цена
               |      ПО ВТ_остатки.Номенклатура = ВТ_цена.Номенклатура";
РезультатЗапроса = Запрос.Выполнить();
   КонецПроцедуры

&НаКлиенте
Процедура сформировать(сформировать)
сформироватьНаСервере();
ТабличнаяЧасть.Значение=результатзапроса;
ТабличнаяЧасть.СоздатьКолонки();
ТабличнаяЧасть.ОбновитьСтроки();

КонецПроцедуры

oleg-x

Делается это все на сервере. Имена колонок в табличной части должны совпадать с именами в запросе.
РЗ = Запрос.Выполнить().Выгрузить();
ТабличнаяЧасть.Загрузить(РЗ);
Помог, нажми спасибо. Не помог, нажми спасибо :-)
Если у Вас есть проблема, то её уже кто то решил @Yandex, @Google

AIFrame

Цитата: Aslay от 14 ноя 2018, 15:18в форме создал табличнуюЧасть1
ТабличнаяЧасть != ТаблицаЗначений.
Табличная часть - это объект метаданных с фиксированным набором реквизитов. Нельзя динамически его менять.
Если тебе не нужна такая статика, не создавай ТЧ, создай на форме реквизит ТаблицыЗначений или еще проще - динамического списка с произвольным запросом (только для УФ).
ТЗ - уже динамический объект и может менять свой состав колонок по желанию левой пятки кодера. Для него ты и можешь

ТЗ = РезультатЗапроса.Выгрузить();
ЭлементыФормы.ТЗ.СоздатьКолонки();

Aslay

Цитата: AIFrame от 14 ноя 2018, 23:19ТЗ = РезультатЗапроса.Выгрузить();
ЭлементыФормы.ТЗ.СоздатьКолонки();

создал реквизит ТЗ, написална клиенте ваш код, ругается переменная не определена-ТаблицаЗначений. Или мне снова запрос надо было создаьб?

AIFrame

Получи запрос на сервере и верни тч запроса в реквизит ТЗ.
Цитата: Aslay от 15 ноя 2018, 09:55переменная не определена-ТаблицаЗначений
Даже не представляю, что ты там такое дикое написал.

Aslay

Цитата: AIFrame от 15 ноя 2018, 14:52
Получи запрос на сервере и верни тч запроса в реквизит ТЗ.
Цитата: Aslay от 15 ноя 2018, 09:55переменная не определена-ТаблицаЗначений
Даже не представляю, что ты там такое дикое написал.
:D:D Вернусь к началу, так как ничего не добился.
Я правильно понимаю, команды вывода в табличную часть записать тут?
&НаКлиенте
Процедура сформировать(сформировать)
сформироватьНаСервере();

КонецПроцедуры

Добавлено: 22 ноя 2018, 12:20


я что то упускаю. На клиенте пишу -
ЦитироватьПока Результат.Следующий() Цикл
   Сообщить(Результат.Наименование);
     конецЦикла
при сохранении ругается
Цитировать{ВнешняяОбработка.ПраисСОстатками.Форма.Форма.Форма(43,11)}: Переменная не определена (Результат)
   Сообщить(<<?>>Результат); (Проверка: Тонкий клиент)

AIFrame

Цитата: Aslay от 22 ноя 2018, 08:02Переменная не определена (Результат)
Переменная не определена (Результат)

Aslay

Цитата: AIFrame от 22 ноя 2018, 17:24
Цитата: Aslay от 22 ноя 2018, 08:02Переменная не определена (Результат)
Переменная не определена (Результат)
нашел примерно такой же вопрос, ответ такои услышал -
ЦитироватьНасколько я помню, на клиенте Таблица значений не доступна.
Данные вообще следует обрабатывать на сервере, на клиенте уже показать результат.
Разговор как и в моем случае идет о выводе результата в  управляемых формах.

AIFrame

Цитата: Aslay от 23 ноя 2018, 10:33на клиенте Таблица значений не доступна
Доступна. Недоступны реквизиты ссылочных данных. Верни ТЧ с сервера на клиент и обрабатывай.

Aslay

Цитата: AIFrame от 23 ноя 2018, 11:15
Цитата: Aslay от 23 ноя 2018, 10:33на клиенте Таблица значений не доступна
Доступна. Недоступны реквизиты ссылочных данных. Верни ТЧ с сервера на клиент и обрабатывай.
А как это сделать? вернуть то есть

Похожие темы (5)

Рейтинг@Mail.ru

Поиск