Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
13 Дек 2017, 04:47
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: Разница в запросах  (Прочитано 1183 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн freez1301

  • ***
  • Сообщений: 130
  • РЕПУТАЦИЯ: 8
  • КПД: 6%
  • Регистрация: 2014-04-25
  • Сайт: 
  • Профессия: Ученик 1С
такой запрос выбирает только те позиции номенклатуры, у корой заполнено значение доп. реквизита
    	"ВЫБРАТЬ
| Номенклатура.Ссылка,
| НоменклатураДополнительныеРеквизиты.Значение
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
| ПО (НоменклатураДополнительныеРеквизиты.Ссылка = Номенклатура.Ссылка)
|ГДЕ
| НоменклатураДополнительныеРеквизиты.Свойство = &Свойство";

Запрос.УстановитьПараметр("Свойство", ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Модель"));


а вот такой выбирает всю номенклатуру, в том числе и с заполненым доп. реквизитом

ВЫБРАТЬ
| Номенклатура.Ссылка,
| ВложенныйЗапрос.Значение
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| НоменклатураДополнительныеРеквизиты.Значение КАК Значение,
| НоменклатураДополнительныеРеквизиты.Ссылка КАК Ссылка
| ИЗ
| Справочник.Номенклатура.ДополнительныеРеквизиты КАК НоменклатураДополнительныеРеквизиты
| ГДЕ
| НоменклатураДополнительныеРеквизиты.Свойство = &Свойство) КАК ВложенныйЗапрос
| ПО Номенклатура.Ссылка = ВложенныйЗапрос.Ссылка

собственно вопрос - в первом случае каким бы соединением не пользовался - результат всегда тот же. Так же пробовал через объединение, тоже не вышло.
Чего не так понимаю?


Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 6557
  • РЕПУТАЦИЯ: 775
  • КПД: 12%
  • Регистрация: 2012-08-15
    • Skype: MuI_I_Ika
  • Сайт: 
  • Профессия: Программист 1С
В первом случае происходит отбор по свойству. Но если какому-то элементу это свойство не задано, то это свойство просто не задается. То есть такой записи просто нет. То есть значение НоменклатураДополнительныеРеквизиты.Свойство у такой строки равно NULL

Во втором случае заранее накладывается отбор на доп. реквизиты и левое соединение уже дает нужный результат.

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
вообще запросы какие то дурацкие, вы совсем не понимаете сути реляционных баз данных(может книжку какую по теории баз почитать), шутка :befhbt:

в первом запросе уберите условие

|ГДЕ
|    НоменклатураДополнительныеРеквизиты.Свойство = &Свойство";


получите такой же результат как и во втором запросе,

а интересно, в первом запросе вообще зачем левое соединение?
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн freez1301

  • ***
  • Сообщений: 130
  • РЕПУТАЦИЯ: 8
  • КПД: 6%
  • Регистрация: 2014-04-25
  • Сайт: 
  • Профессия: Ученик 1С
условие затем, что реквизитов м.б. несколько.
а если не левым соединением, то тогда как 2 разные таблицы же

Оффлайн LexaK

  • *****
  • Сообщений: 1267
  • РЕПУТАЦИЯ: 347
  • КПД: 27%
  • Регистрация: 2012-05-16
  • Сайт: 
  • Профессия: Программист 1С
в табличной части (справочника и др.объектов) уже есть ссылка на "родительский" элемент!

ваш первый запрос может выглядеть так
"ВЫБРАТЬ
|    Спр.Ссылка,
|    Спр.Значение
|ИЗ
|    Справочник.Номенклатура.ДополнительныеРеквизиты КАК Спр
|ГДЕ
|    Спр.Свойство = &Свойство";

результат тот-же, и никакого левого соединения.

и через Спр.Ссылка, можно получить любой реквизит номенклатуры, например код, наименование

Спр.Ссылка.Код как Код,
Спр.Ссылка.Наименование как Наименование

и т.д.
Помогло? - Нажми СПАСИБО!!!
                       :)

Оффлайн freez1301

  • ***
  • Сообщений: 130
  • РЕПУТАЦИЯ: 8
  • КПД: 6%
  • Регистрация: 2014-04-25
  • Сайт: 
  • Профессия: Ученик 1С
ЛехаК, спасибо :) , но для динамического списка не подходит такой вариант. ругается на неверную основную таблицу. пробовал через РС - тоже самое. так что придется все таки соединять

Оффлайн MuI_I_Ika

  • Гончаров Михаил
  • Администратор
  • *****
  • Сообщений: 6557
  • РЕПУТАЦИЯ: 775
  • КПД: 12%
  • Регистрация: 2012-08-15
    • Skype: MuI_I_Ika
  • Сайт: 
  • Профессия: Программист 1С
Если ругается на неверную основную таблицу, то ее можно убрать вообще, правда при этом лишаетесь нескольких плюшек типа динамического обновления.


Теги:
 

Часть третья: Разница между программами «ЗУП» версий «2.5» и «3.0». Какие новинки подготовили разработчики в последней редакции программы?

Автор 1cwikiРаздел Зарплата и управление персоналом

Ответов: 0
Просмотров: 4869
Последний ответ 26 Мар 2015, 14:04
от 1cwiki
Закрытие месяца (прямая и временная разница), Бухгалтерия предприятия 2.0

Автор forumlarinРаздел Пользователям "1С - Предприятие 8"

Ответов: 1
Просмотров: 2195
Последний ответ 13 Сен 2011, 09:53
от kkkirrr
Разница между ручной и автоматической выгрузкой товара на сайт

Автор Xo_066uTРаздел Пользователям "1С - Предприятие 8"

Ответов: 0
Просмотров: 403
Последний ответ 26 Янв 2017, 17:11
от Xo_066uT
Техплатформа, конфигурация, версия в 1С - в чём разница между ними?

Автор Spartan AccountantРаздел Пользователям "1С - Предприятие 8"

Ответов: 12
Просмотров: 3327
Последний ответ 08 Сен 2015, 17:20
от MuI_I_Ika
Курсовая разница Управление торговлей для Украины, редакция 3.0

Автор HabiРаздел Конфигурирование, программирование в "1С - Предприятие 8"

Ответов: 2
Просмотров: 753
Последний ответ 18 Фев 2017, 17:28
от alex0402

* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

Геннадий ОбьГЭС Геннадий ОбьГЭС
171 Сообщений
ilyay ilyay
75 Сообщений
oleg-x
51 Сообщений
alex0402
49 Сообщений
andron81_81
38 Сообщений
AIFrame
37 Сообщений
MuI_I_Ika MuI_I_Ika
33 Сообщений
BuhRust
30 Сообщений
Golickoff Golickoff
28 Сообщений
Dima Dddd Dima Dddd
26 Сообщений

* Кто онлайн

  • Точка Гостей: 231
  • Точка Скрытых: 0
  • Точка Пользователей: 0

Нет пользователей онлайн.

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal