Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
08 мая 2024, 15:45

Помогите составить запрос

Автор pro85, 27 окт 2010, 14:06

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

pro85

Есть 2 справочника Номенклатура и НомеклатураПоставщиков.
У НомеклатурыПоставщиков 2 реквизита - Исключен и Номенклатура(Ссылка на справочник Номенклатура ).
Необходимо выбрать из справочника Номенклатура те элементы на которые есть ссылки в справочнике НомеклатураПоставщиков и этот элемент не исключен(реквизит).
На SQL это выглядело бы как:
SELECT Номенклатура.* FROM Номенклатура LEFT JOIN НомеклатураПоставщиков ON (НомеклатураПоставщиков.Номенклатура = Номенклатура.Ссылка  AND НомеклатураПоставщиков.Исключен = FALSE) having(count(НомеклатураПоставщиков.Ссылка))>0.

Как переписать тоже самое в 1с 8.2.
Заранее благодарен.

progmikon

Если я вас правильно понял

ВЫБРАТЬ
НомПоставщиков.Номенклатура
ИЗ
Справочник.НоменклатураПоставщиков КАК НомПоставщиков
ГДЕ
НомПоставщиков.Исключен = ЛОЖЬ

pro85

Это выберет номенклатуру поставщиков которые не исключены.
А мне нужно выбрать из основной номенклатуры на которуу есть ссылки в номенклатуре поставщиков.

progmikon

Она выбирает Номенклатуру, которая есть в НоменклатуреПоставщиков(как реквизит).
Если бы я хотел выбирать номенклатуру поставщиков, я бы написал
НомПоставщиков.Ссылка.

Если у элемента справочника Номенклатура поставщиков есть реквизит на справочник номенклатура(а так и есть, как я понял), то соединения запросов тут не нужны.

pro85

У меня связь один ко многим. В данной выборке будут уникальные записи?
И второй вопрос:
Как составить запрос чтобы получить из основной номенклатуры на которую нет ссылок в номенклатуре поставщиков?

progmikon

Чтобы в данной выборке были уникальные записи необходимо добавить слово РАЗЛИЧНЫЕ, т.е.

ВЫБРАТЬ РАЗЛИЧНЫЕ
НомПоставщиков.Номенклатура
ИЗ
Справочник.НоменклатураПоставщиков КАК НомПоставщиков
ГДЕ
НомПоставщиков.Исключен = ЛОЖЬ


pro85

Так с этим понятно.
Остался еще один вопрос.
Как составить запрос чтобы получить из основной номенклатуры элементы на которую нет ссылок в номенклатуре поставщиков?

progmikon


ВЫБРАТЬ
Номенклатура.Ссылка
ИЗ
Справочник.Номенклатура КАК Номенклатура
ГДЕ
(НЕ Номенклатура.Ссылка В
(ВЫБРАТЬ РАЗЛИЧНЫЕ
НомПоставщиков.Номенклатура
ИЗ
Справочник.НоменклатураПоставщиков КАК НомПоставщиков
ГДЕ
НомПоставщиков.Исключен = ЛОЖЬ))

pro85

Отлично.
progmikon спасибо за квалифицированную помощь.

progmikon

Не за что. Пишите снова. :)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск