Имя: Пароль:
1C
1С v8
Тип не может быть выбран в запросе
,
0 Romich1981
 
22.11.12
13:57
Добрый день, коллеги.
Имею два запроса, из которых один имеет меня...
1. " Выбрать
НЕОПРЕДЕЛЕНО КАК Поле1
ИЗ
Документ.КорректировкаПрочихЗатрат.Затраты КАК ТабличнаяЧасть
ГДЕ
ТабличнаяЧасть.Ссылка = &Ссылка
"

2." Выбрать
НЕОПРЕДЕЛЕНО КАК Поле1
ИЗ
&ТаблицаЗатрат КАК ТаблицаЗатрат
"
где ТаблицаЗатрат - таблица с нетипизированными колонками, например выгрузка из результата первого запроса.

Первый запрос отрабатывает, а второй нет... говорит, что "Тип не может быть выбран в запросе"
Где собака зарыта и как ее откопать?
1 GLazNik
 
22.11.12
13:58
(0) "ТаблицаЗатрат - таблица с нетипизированными колонками" тут зарыта
2 Maxus43
 
22.11.12
14:00
>>например выгрузка из результата первого запроса
выгрузки как правило типизированы, я хз как извратится чтоб в результате запроса был неизвестен тип
3 Romich1981
 
22.11.12
14:01
(1) это понятно. Но ведь я из нее поля не выбираю... НЕОПРЕДЕЛЕНО - фиксированное значение
4 Romich1981
 
22.11.12
14:02
(2) "Неопределено КАК Поле1" - вот так вот извратиться. Поле1 - нетипизированное
5 Maxus43
 
22.11.12
14:02
(3) какая разница выбираеш или нет, засовывать туда нельзя такое
6 Maxus43
 
22.11.12
14:03
ВЫБРАТЬ ПЕРВЫЕ 1
   НЕОПРЕДЕЛЕНО КАК Поле1

Это работает. Неопределено - это определённый тип)
7 Maxus43
 
22.11.12
14:04
ругается именно на ТаблицаЗатрат , там неопределённый ТИП
8 GLazNik
 
22.11.12
14:04
(3) смысл этого не ясен мне
9 Maxus43
 
22.11.12
14:06
ВЫБРАТЬ ПЕРВЫЕ 1
   НЕОПРЕДЕЛЕНО КАК Поле1
ПОМЕСТИТЬ втНеопределено
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   втНеопределено.Поле1
ИЗ
   втНеопределено КАК втНеопределено

тоже прекрасно работает
10 Romich1981
 
22.11.12
14:06
(7) Если убираю из запроса строку с НЕОПРЕДЕЛЕНО, не ругается, хотя в таблице нетипизированные колонки никуда не деваются
(8) Нужно на выходе получить Неопределено в определенной колонке
11 Maxus43
 
22.11.12
14:07
(10) у меня ж работает
12 GLazNik
 
22.11.12
14:07
(10) ну и получайте на выходе... на входе то зачем?
13 Romich1981
 
22.11.12
14:08
(9) как вариант, выбрать типизированные во временную таблицу, потом добавить нетипизированные значения...
(10) задайте этот вопрос фирме 1С. Я лишь корректирую типовую процедуру
14 ssh2012
 
22.11.12
14:11
(10) > Нужно на выходе получить Неопределено в определенной колонке

Так добавляй эту колонуц в самом последнем результирующем запросе, зачем её сначала выгружать, чтобы потом загружать, смысл?
15 Romich1981
 
22.11.12
14:19
(14) Так я и добавляю в последнем.
Хотя, в первом она тоже нужна.
Вобщем, был запрос, в нем несколько полей НЕОПРЕДЕЛЕНО.
Одно из "НЕОПРЕДЕЛЕНО" меня не устроило, я его решил заполнить значением, которое получается типовой функцией. В эту типовую функцию передается строка ТЗ или выборки. Чтобы сильно не ломать типовой механизм, решил выгрузить из типового запроса таблицу, подправить ее и сунуть дальше.
16 Romich1981
 
22.11.12
14:30
Прогнал через ВТ, отработало. Зато всплыла новая фигня.с менеджеромВТ

"ВЫБРАТЬ *
ПОМЕСТИТЬ ТаблицаЗатрат
ИЗ    
ТаблицаЗатратВрем КАК ТаблицаЗатратВрем
;
УНИЧТОЖИТЬ ТаблицаЗатратВрем"

Результат запроса = Неопределено.

Если убрать строку "УНИЧТОЖИТЬ ТаблицаЗатратВрем", тогда норм.

мне в RTFM или кто-нибудь на пальцах объяснит?
17 ssh2012
 
22.11.12
14:34
(16) Попробуй Результат = Запрос.ВыполнитьПакет()[0]
18 ssh2012
 
22.11.12
14:35
(17) не то, там нет выборки данных, не понятно в чем проблема, напиши
19 Romich1981
 
22.11.12
14:40
(18) все верно, я затупил =)
"Выполнить()" выдает выборку из последнего запроса, а там "уничтожить"...