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

Запрос из временной ТаблЗначений на форме

Автор Funt432286, 27 фев 2024, 17:52

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

LexaK

если помогло нажмите: Спасибо!

Funt432286

LexaK,
////////////////////////////////////////////////////////////////////////////////
//
Функция обМакетВТаблицуЗначений(Макет) Экспорт

//через построитель получаем все данные из ТабДОк
    лкПостроитель = Новый ПостроительЗапроса;
    лкПостроитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(Макет.Область());
    лкПостроитель.Выполнить();
   
   
    // Возвращаем таблицу значений с отобранными из макета данными
    Попытка
        лкТЗ = лкПостроитель.Результат.Выгрузить();
    Исключение
        //скорее всего не загружены данные из буфера, ТабДок - пустой
        лкОшибка = ОписаниеОшибки();
        Сообщить(лкОшибка);
        лкТЗ = Неопределено;
    КонецПопытки;

Возврат лкТЗ;

КонецФункции


&НаКлиенте
Процедура ЗаполнитьОзон(Команда)

ТаблЗначений = обМакетВТаблицуЗначений(ТабличныйДокумент);

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

LexaK

Funt432286, что у вас в ТабличныйДокумент ? точно есть данные?
вот в потерянном ответе была проверка на заполненность табдока

какую-то элементарную вещь (которую отсюда не видно) вы не можете сделать, сам код вполне рабочий
проверено 1000 раз.
если помогло нажмите: Спасибо!

Funt432286

LexaK,
////////////////////////////////////////////////////////////////////////////////
//
Функция обМакетВТаблицуЗначений(Макет) Экспорт

//через построитель получаем все данные из ТабДОк
    лкПостроитель = Новый ПостроительЗапроса;
    лкПостроитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(Макет.Область());
    лкПостроитель.Выполнить();
   
   
    // Возвращаем таблицу значений с отобранными из макета данными
    Попытка
        лкТЗ = лкПостроитель.Результат.Выгрузить();
    Исключение
        //скорее всего не загружены данные из буфера, ТабДок - пустой
        лкОшибка = ОписаниеОшибки();
        Сообщить(лкОшибка);
        лкТЗ = Неопределено;
    КонецПопытки;

Возврат лкТЗ;

КонецФункции


&НаКлиенте
Процедура ЗаполнитьОзон(Команда)

ТаблЗначений = обМакетВТаблицуЗначений(ТабДокумент);

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

LexaK

Funt432286, а заголовки где? подразумевается что в первой строке табдока будут именно валидные заголовки колонок
как же без них?
если помогло нажмите: Спасибо!

Funt432286

LexaK, Вот с заголовками, все равно ошибка
выходит
Ошибка при вызове метода контекста (обМакетВТаблицуЗначений)
{Обработка.СформироватьОтчетКомиссионера.Форма.Форма.Форма(2508)}: ТаблЗначений = обМакетВТаблицуЗначений(ТабДокумент);
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'

по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
НачалоСвойства: ret Форма: Элемент Тип: {http://www.w3.org/2001/XMLSchema}anyType
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'

antoneus

Ну не бывает на клиенте таблицы значений. Так надо делать (на сервере)

ТаблЗначений.Загрузить(лкПостроитель.Результат.Выгрузить())

LexaK

Funt432286, так у вас табдок на сервер не уходит!
что вы там делает?  :dfbsdfbsdf:

сейчас небольшой пример сделаю.
если помогло нажмите: Спасибо!

antoneus

Если ТабДокумент - реквизит формы - не надо его передавать параметром, он на сервере будет доступен.

LexaK

Funt432286, рабочий пример
(получаем ТЗ и выводим для визуализации в ТЗ на форме)
если помогло нажмите: Спасибо!

Теги:

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

Рейтинг@Mail.ru

Поиск