Имя: Пароль:
1C
1С v8
(Массив в ТЗ) в Запросе
, , ,
0 Черныйвован
 
05.02.21
11:23
Привет всем, сегодня столкнулся с проблемой, которую не смог самостоятельно решить, прошу вашей помощи в решении проблемы.
Есть массив ( приходит с типовой функции) - Оплаты.
В своей функции (в расширении) формирую новую ТЗ ...
ТЗ.Колонки.Добавить("Оплаты", Новый ОписаниеТипов("Массив"));
ТЗ.Оплаты = Оплаты;

Пытаюсь получить в запросе данные из моей ТЗ, в том числе и этот массив...
Запрос.Текст = "
ВЫБРАТЬ
            |    ТЗ.Дата КАК Дата,
            |    ТЗ.ФормаОплаты КАК ФормаОплаты,
            |    ТЗ.СуммаЧека КАК СуммаЧека,
            |    ТЗ.Оплаты КАК Оплаты
            |ПОМЕСТИТЬ Вт
            |ИЗ
            |    &ТЗ КАК ТЗ
При попытке выполнения запроса выходит ошибка: "{(5, 2)}: Тип не может быть выбран в запросе <<?>>ТЗ.Оплаты КАК Оплаты
Вроде как нужно задавать квалификаторы для колонки ТЗ, чтобы её выбрать в запросе, но для массива как я понимаю квалификатора нет...
1 SiAl-chel
 
05.02.21
11:30
(0) Ты - программист?
2 Homer
 
05.02.21
11:30
аналогичный вопрос
3 ДенисЧ
 
05.02.21
11:35
В ТЗ, которая передаётся в запрос, не может быть колонки с типом Массив.
4 DAFA
 
05.02.21
11:58
(3) +  колонка с типом массив? что то экзотическое
5 ДенисЧ
 
05.02.21
12:01
(4) ТЗ.Колонки.Добавить("Оплаты", Новый ОписаниеТипов("Массив"));
Ничего необычного
6 del123
 
05.02.21
12:12
Делай из массива еще одну таблицу с дополнительным полем, по которому будешь ее соединять с первой таблицей
7 acht
 
05.02.21
12:35
(5) Офигенная вещь, кстати. Конструктор вызывается сразу при добавлении строки, не надо писать никакого МояНоваяСтрока.МойМассив = Новый Массив.
8 Ненавижу 1С
 
гуру
05.02.21
12:40
(7) интересно конечно, если у типа не будет конструктора по-умолчанию?
9 ДенисЧ
 
05.02.21
12:43
(8) А есть такие типы?
10 Ненавижу 1С
 
гуру
05.02.21
12:44
(9) ФиксированныйМассив