Имя: Пароль:
1C
1С v8
Можно ли в запрос передать таблицу с типом колонки "Тип" ?
, ,
0 evorle145
 
28.04.14
11:40
Пытаюсь в запрос передать таблицу:
Таблица = Новый ТаблицаЗначений;
МассивТипов = Новый Массив;
ДобавляемыйТип = ТипЗнч(Тип("ДокументСсылка.АвансовыйОтчет"));
МассивТипов.Добавить(ДобавляемыйТип);
ДопустимыеТипы = Новый ОписаниеТипов(МассивТипов);
Таблица.Колонки.Добавить("ТипЗначенияДокумента",ДопустимыеТипы);

Чтобы в запросе сделать такое условие:

ТИПЗНАЧЕНИЯ(Хозрасчетный.Регистратор) = Таблица.ТипЗначенияДокумента

Но выдает ошибку:

Ошибка исполнения отчета
по причине:
Ошибка при выполнении обработчика - 'ПриКомпоновкеРезультата'
по причине:
{ВнешнийОтчет.СтатистикаОтчет.МодульОбъекта(322)}: Ошибка при вызове метода контекста (Выполнить)
    Результат1 = Запрос.Выполнить().Выгрузить();
по причине:
{(2, 2)}: Тип не может быть выбран в запросе
<<?>>Таблица.ТипЗначенияДокумента,
1 Wobland
 
28.04.14
11:40
поддерживаю
2 barrgand
 
28.04.14
11:50
(0) К чему такой изврат?
3 fisher
 
28.04.14
11:51
Фигня какая-то. Цель непонятная. Средство кривое. Кто же тип со значением сравнивает?
Может, ты просто не открыл для себя оператор ССЫЛКА? Или ТИП?
Или это просто поток сознания?
4 blank_box
 
28.04.14
11:52
"Хозрасчетный.Регистратор ССЫЛКА Документ.АвансовыйОтчет"


так не?
5 Любопытная
 
28.04.14
11:55
(4)а если нужно несколько типов?
6 evorle145
 
28.04.14
11:56
Понял, что не совсем корректно сформулировал вопрос. Задача в том, чтобы в запросе обратиться к реквизиту документа " ВидОперации".
Вот так: Хозрасчетный.Регистратор.ВидОперации

Но ВидОперации есть не у всех документов,  поэтому чтобы определить есть ли реквизит "ВидОперации" у документа  приходится использовать внешнюю таблицу и делать потом с ней левое соединение..
7 Wobland
 
28.04.14
11:59
8 barrgand
 
28.04.14
11:59
(5) ИЛИ под запретом?
9 Wobland
 
28.04.14
12:00
(6) Хозрасчетный.Регистратор.ВидОперации пробовал?
10 Wobland
 
28.04.14
12:00
(9) ну или естьнулл на худой конец
11 fisher
 
28.04.14
12:05
Хм... Вроде без использования ВЫРАЗИТЬ будет соединение со всеми таблицами составного типа. Может, расписать простыню типа
ВЫБОР
  КОГДА Хозрасчетный.Регистратор ССЫЛКА ...
  ТОГДА ВЫРАЗИТЬ(Хозрасчетный.Регистратор КАК ...).ВидОперации
  КОГДА
  ...
  ИНАЧЕ
  ...
КОНЕЦ КАК ВидОперации
12 evorle145
 
28.04.14
12:06
(9) , нет, не пробовал... А разве запрос не выдаст ошибку, когда наткнется таблицу документа, у которого этого реквизита не существует?
13 barrgand
 
28.04.14
12:07
(12) Попробуй, раcскажешь потом свои наблюдения..
14 Defender aka LINN
 
28.04.14
12:18
(12) null будет
15 evorle145
 
28.04.14
12:23
Понял, тупанул,  спасибо всем большое! сейчас буду пробовать все переделывать