Имя: Пароль:
1C
 
У кого работает подобный запрос?
0 daringer
 
08.06.15
12:45
Добрый день. У кого нибудь работает подобный запрос?
ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура,
    РасходнаяНакладная.Ссылка КАК Расходная
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная КАК РасходнаяНакладная
        ПО Номенклатура.Ссылка = РасходнаяНакладная.Запасы.Номенклатура
ГДЕ
    РасходнаяНакладная.Ссылка = &Ссылка

Данный запрос не имеет смысле, сделан чисто для примера.
У меня возникает ошибка:
Ошибка выполнения запроса: Запрос невозможно исполнить
В условиях соединения запроса не допускается обращение к табличным частям. (1)
1 Lamer1C
 
08.06.15
12:49
(0) а что в тексте ошибки то не понятно?
2 Drac0
 
08.06.15
12:49
(0) Зачем?
3 daringer
 
08.06.15
12:50
Все понятно.Не понятно другое.Берем документооборот. В некой функции есть такой запрос:
ВЫБРАТЬ
    ИСТИНА КАК Поле1
ИЗ
    Справочник.ПроектныеЗадачи КАК ПроектныеЗадачи
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СрокиПроектныхЗадач КАК СрокиПроектныхЗадач
        ПО ПроектныеЗадачи.Предшественники.Предшественник = СрокиПроектныхЗадач.ПроектнаяЗадача
ГДЕ
    ПроектныеЗадачи.Ссылка = &ПроектнаяЗадача
    И СрокиПроектныхЗадач.ОкончаниеФакт = ДАТАВРЕМЯ(1, 1, 1)
    И ПроектныеЗадачи.Предшественники.ТипЗависимости = ЗНАЧЕНИЕ(Перечисление.ТипыЗависимостейПроектныхЗадач.ОкончаниеНачало)
    И НЕ ПроектныеЗадачи.Предшественники.Предшественник.ПометкаУдаления

И он работает
4 fisher
 
08.06.15
12:52
Ты уверен, что "Предшественники" - это табличная часть?
5 Анцеранана
 
08.06.15
12:52
(0) с документами лучше не соединяй, соединяй с регистрами. как в п (3)
если таки соединяешь с документом - соединяй не с ним самим, а сразу с табличной частью
6 daringer
 
08.06.15
12:52
Конечно
7 daringer
 
08.06.15
12:53
Я не соединяю с документами, это просто пример. Хочу  разобраться почему в документообороте соединение с ТЧ работает, а в моем примере  нет
8 daringer
 
08.06.15
12:57
Скопировал справочник и регистр в чистую конфигурацию, делаю этот же запрос и ошибка
9 Анцеранана
 
08.06.15
12:58
(7) причин 2 - соединяешь с самим документом, а не с ТЧ
второе : неоднозначное поле номенклатура.

Отработает вот так:

ВЫБРАТЬ
    Ном.Ссылка,
    РеализацияТоваровУслугТовары.Сумма
ИЗ
    Справочник.Номенклатура КАК Ном
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ПО РеализацияТоваровУслугТовары.Номенклатура = Ном.Ссылка
10 Lamer1C
 
08.06.15
12:58
(8) нормальный запрос написать не судьба?
11 daringer
 
08.06.15
13:00
Вопрос не в запросе. Вопрос в том, почему один и тот же запрос в документообороте работает, в чистой конфе не работает
12 daringer
 
08.06.15
13:01
Забудьте про мой пример. Вот запрос из документооборота
ВЫБРАТЬ
    ИСТИНА КАК Поле1
ИЗ
    Справочник.ПроектныеЗадачи КАК ПроектныеЗадачи
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СрокиПроектныхЗадач КАК СрокиПроектныхЗадач
        ПО ПроектныеЗадачи.Предшественники.Предшественник = СрокиПроектныхЗадач.ПроектнаяЗадача
ГДЕ
    ПроектныеЗадачи.Ссылка = &ПроектнаяЗадача
    И СрокиПроектныхЗадач.ОкончаниеФакт = ДАТАВРЕМЯ(1, 1, 1)
    И ПроектныеЗадачи.Предшественники.ТипЗависимости = ЗНАЧЕНИЕ(Перечисление.ТипыЗависимостейПроектныхЗадач.ОкончаниеНачало)
13 Анцеранана
 
08.06.15
13:02
(11) Потому что в документообороте связывается с регистом, а регистр - это таблица (двумерная) а ты в запросе (0) связываешься с документом (который как бы тоже таблица), но в нем еще есть табличная часть - таблица в таблице ...
14 daringer
 
08.06.15
13:04
(13) Я использую этот же запрос только в чистой конфе, он не работает, говорю же забудьте про связь с документов. Вот связь справочника и РС
15 sapphire
 
08.06.15
13:07
(14) Вы бы почитали что-нибудь.

ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура,
    РасходнаяНакладная.Ссылка КАК Расходная
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная.Запасы КАК РасходнаяНакладная
        ПО Номенклатура.Ссылка = РасходнаяНакладная.Номенклатура И   РасходнаяНакладная.Ссылка = &Ссылка
16 fisher
 
08.06.15
13:07
(12) Непонятно, почему это работает. Если "Предшественники" в самом деле табличная часть. А самое главное - как это должно было бы работать по твоему мнение.
Типа должно выполниться неявное соединение с табличной частью? И что потом ожидать обращаясь к "ПроектныеЗадачи"? Должно быть неявное сворачивание? Бред какой-то.
17 sapphire
 
08.06.15
13:08
(14) Даже чисто теоретически, обсуждать многоточия в полях запроса бессмысленно
18 Зеленый пень
 
08.06.15
13:08
(0) У меня отработал такой же запрос:

ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура,
    РеализацияТоваров.Ссылка КАК РеализацияТоваров
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваров КАК РеализацияТоваров
        ПО Номенклатура.Ссылка = РеализацияТоваров.Товары.Номенклатура
ГДЕ
РеализацияТоваров.Ссылка =  &РеализацияТоваров
19 daringer
 
08.06.15
13:12
Это в документообороте
http://files.webfile.ru/8d478c96c8aff1ef81a288e0f8481672
Это в чистой конфе
http://files.webfile.ru/72febfc25f22dc6fca2ba1f0a9e76f66
20 Любопытная
 
08.06.15
13:13
(19) Но ты же в документообороте не выбираешь НИЧЕГО из таблиц.
21 fisher
 
08.06.15
13:15
(18) Гы. У меня тоже отработал.
22 daringer
 
08.06.15
13:15
(20) Я  и в чистой ничего не выбираю
23 daringer
 
08.06.15
13:15
Ок. У вас работает, у меня нет. Может платформа? У меня 8.3.6.2014
24 Lucky-1
 
08.06.15
13:16
(0) вот так будет работать:

ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура,
    РасходнаяНакладная.Ссылка КАК Расходная
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РасходнаяНакладная<b>.Запасы</b>  КАК РасходнаяНакладная
        ПО Номенклатура.Ссылка = РасходнаяНакладная.Запасы.Номенклатура
ГДЕ
    РасходнаяНакладная.Ссылка = &Ссылка
25 daringer
 
08.06.15
13:17
(24) Товарищи (18) (21) пишут что у них работает как я привел пример изначально
26 fisher
 
08.06.15
13:17
(23) Проверь уровни совместимости. Возможно на каких-то версиях ругается, на каких-то нет.
27 Зеленый пень
 
08.06.15
13:17
(23) 8.2.18
8.3 - еще сырая! :)
28 fisher
 
08.06.15
13:18
ИМХО, правильно сделали что в 8.3.6 эту фигню запретили.
29 daringer
 
08.06.15
13:18
Ну если бы ее запртили, то и в документообороте не работало бы. Там тоже 8.3.6
30 fisher
 
08.06.15
13:18
На 8.3.5 работает.
31 fisher
 
08.06.15
13:19
(29) Уровень совместимости в конфе глянь, говорю. Уверен, что там включена совместимость.
32 daringer
 
08.06.15
13:20
Стоит не использовать
33 fisher
 
08.06.15
13:21
Тогда пора бить в бубен. Либо шаманский, либо дезинформатору :)
34 Lucky-1
 
08.06.15
13:22
(25) у меня еще вот так отрабатывает:

ВЫБРАТЬ
    Номенклатура.Ссылка КАК Номенклатура,
    РеализацияТоваров.Ссылка КАК РеализацияТоваров
ИЗ
    Справочник.Номенклатура КАК Номенклатура
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваров[b]Услуг[/b] КАК РеализацияТоваров
        ПО Номенклатура.Ссылка = РеализацияТоваров.Товары.Номенклатура
ГДЕ
    РеализацияТоваров.Ссылка = &РеализацияТоваров

платформа 8.3.5.1517, УТ11.1
35 fisher
 
08.06.15
13:23
(32) Обе конфы на одной платформе и в обоих "не использовать"?
36 daringer
 
08.06.15
13:25
На одной платформе, на обеих не использовать, но я сейчас поставил совместимость с 8.3.5 все равно не работает
37 daringer
 
08.06.15
13:25
Конечно проще запрос переделать, но вопрос остается не решенным(
38 daringer
 
08.06.15
13:33
Кстати попробовал на 8.3.5.1098, тоже не работает
39 ILM
 
гуру
08.06.15
13:46
(0) "Рука лицо", а за каким ... такие запросы?

ВЫБРАТЬ
    РасходнаяНакладная.Номенклатура КАК Номенклатура,
    РасходнаяНакладная.Ссылка КАК Расходная
ИЗ
    Документ.РасходнаяНакладная.Запасы КАК РасходнаяНакладная

ГДЕ
    РасходнаяНакладная.Ссылка = &Ссылка
40 daringer
 
08.06.15
13:52
(39) А за каким такие?
ВЫБРАТЬ
    ИСТИНА
ИЗ
    Справочник.ПроектныеЗадачи КАК ПроектныеЗадачи
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СрокиПроектныхЗадач КАК СрокиПроектныхЗадач
        ПО ПроектныеЗадачи.Предшественники.Предшественник = СрокиПроектныхЗадач.ПроектнаяЗадача
ГДЕ
    ПроектныеЗадачи.Ссылка = &ПроектнаяЗадача
    И СрокиПроектныхЗадач.ОкончаниеФакт = ДАТАВРЕМЯ(1, 1, 1)
    И ПроектныеЗадачи.Предшественники.ТипЗависимости = ЗНАЧЕНИЕ(Перечисление.ТипыЗависимостейПроектныхЗадач.ОкончаниеНачало)
41 Анцеранана
 
08.06.15
13:56
(18) (21) Учат неправильному стилю программирования? Это не надо проверять , это грубая ошибка. Грубейшая.
Правильно (15).. (24) - не совсем то ибо условие в ГДЕ стоит, хотя отработает.

а в запросе (40) просто какие-то поля выбрать и что не заработает что ли?))
42 ЧеловекДуши
 
08.06.15
13:57
(3) ДНК, у ТС явное непонимание отличий структуры данных Регистра и Документа и Табличной части документа :)
43 ЧеловекДуши
 
08.06.15
13:59
(39) Для быстроты работы с БД. При 900 пользователях прирост в производительности ОЧЕНЬ заметен :)

Если писать обращение к реквизитам Документа, типо "Док.Реквизит.ЕщеРеквизит" и т.д., то скорость будет чертовски медленная :)
44 Бубка Гоп
 
08.06.15
14:01
(43) вот и Америка на горизонте появилась...
45 Гёдза
 
08.06.15
14:12
(43) Если не составной, то норм
46 Гёдза
 
08.06.15
14:13
если не в консоли проверять, а в модуле объекта?
47 zva
 
08.06.15
14:34
<<В условиях соединения таблиц запроса не допускается обращения к табличным частям объектов, если происходит соединение объектных таблиц и на используемые объектные таблицы действуют ограничения доступа к данным...>>
48 Ligor
 
08.06.15
14:50
(0) У меня такой запрос нормально отработал:

ВЫБРАТЬ
    ПоступлениеТоваровУслуг.Ссылка,
    Номенклатура.Ссылка КАК Ссылка1
ИЗ
    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг
        ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
        ПО ПоступлениеТоваровУслуг.Товары.Номенклатура = Номенклатура.Ссылка
ГДЕ
    ПоступлениеТоваровУслуг.Ссылка = &Ссылка

Платформа 1С:Предприятие 8.3 (8.3.4.496)
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн