Версия для печати темы (https://pro1c.org.ua/index.php?s=241a23491516a2be7ad04f5331151779&showtopic=45218)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Данные табличного поля документа в таблицу значений

Автор: drug_com 12.04.18, 16:40

Добрый день, форумчане.
Процесс моего обучения "боем" не прекращается.

Конфигурация УТП 1.2 (1.2.33.3) на 8.3 - самописный документ.

Существоваал документ для Распределения затрат с 2мя табличными частями - ЗатратыКРаспределению и Затраты (распределенные).
При заполнении табличной части ЗатратыКРаспределению (Кнопка для заполнения) возникла необходимость фильтровать затраты по измерению регистра бухгалтерии - Сценарий.
Для этого в документ добавлена табличная часть "СценарииДляОтбора", и соответственно в форму документа добавлено Табличное поле "ТПСценарииДляОтбора".

Соответственно (в отборе запроса) необходимо применять значения не табличной части, а табличного поля формы (так как на момент заполнения документ не сохранен).

У меня не получается передать данные (массив из элементов справочника сценарии) из табличного поля формы в запрос.

Изначально пытался сделать поле ввода с типом список значений (так компактнее), но на форумах пишут, что невозможно - передать список значений из поля ввода формы в запрос и советуют создавать табличную часть.
Создал табличную часть, нашел решение на форумах, где пишут, что из табличного поля нужно передать данные в таблицу значений, а уже потом передать её в запрос.
Взял решение по превращению данных табличного поля в таблицу значений, с одного из форумов, но оно у меня не работает.
Помогите разобраться что не так:

        ТЗСценарииДляОтбора = Новый ТаблицаЗначений;
        ТЗСценарииДляОтбора.Колонки.Добавить("СценарийДляОтбора");
    
        ПостроительОтчетов = Новый ПостроительОтчета;
        ПостроительОтчетов.ИсточникДанных = Новый ОписаниеИсточникаДанных(ЭтаФорма.ЭлементыФормы.ТПСценарииДляОтбора);
        ТЗСценарииДляОтбора = ПостроительОтчетов.Результат.Выгрузить();


{Документ.Биокон_РаспределениеЗатратПоПроектам.Форма.ФормаДокумента.Форма(895)}: Ошибка при вызове конструктора (ОписаниеИсточникаДанных)
ПостроительОтчетов.ИсточникДанных = Новый ОписаниеИсточникаДанных(ЭтаФорма.ЭлементыФормы.ТПСценарииДляОтбора);
по причине:
Несоответствие типов (параметр номер '1')


 ! 

http://pro1c.org.ua/index.php?act=announce&id=2: 5
 

Автор: Vofka 16.04.18, 9:20

Цитата
Синтаксис:
Новый ОписаниеИсточникаДанных(<ИсточникДанных>)

Параметры:
<ИсточникДанных> (обязательный)
Тип: ТаблицаЗначений; РезультатЗапроса; ОбластьЯчеекТабличногоДокумента.
Описываемый источник данных.

Вы же передаете туда тип ПолеТабличногоДокумента.

Автор: sava1 16.04.18, 9:28

+ поля в ТЗ должны быть ТИПИЗИРОВАНЫ.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua