|
У кого работает подобный запрос? | ☑ | ||
---|---|---|---|---|
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) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |