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

Как в запросе сравнить коды элементов в табличных частях двух справочников

Автор Serval, 29 окт 2014, 10:26

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

Serval

Добрый день!
Помогите, пожалуйста, разобрать с такой ситуацией:
Есть 2 справочника:
1. Справочник "Лоты", в нем табличная часть "ТЧ2" с реквизитом "ОбъектЗакупки". Тип реквизита - "СправочникСсылка.ОбъектЗакупкиПредметК"
2. Справочник "Контракты", в нем табличная часть "ПредметыКонтракта" с реквизитом "ПредметКонтракта". Тип реквизита - "СправочникСсылка.ОбъектЗакупкиПредметК"
Сам справочник "ОбъектЗакупкиПредметК" имеет реквизит "ОКПД"
Каждый из справочников имеет реквизит "Закупка" по которому можно выполнить соединение.
Одному элементу справочника "Лоты" соответствует один элемент справочника "Контракты"
Теперь, собственно, проблема:
Нужно выбрать такие элементы справочника "Контракт", в табличной части которых имеется строка с элементом "ОКПД", которого нет в табличной части соответствующего ему справочника "Лоты"
Подскажите, возможно ли сделать такую выборку в запросе?

Yura063

наверное в запросе написать условие типа:
(Спр1.ОКПД ПОДОБНО "" И Не Спр2.ОКПД ПОДОБНО "") или (Спр2.ОКПД ПОДОБНО "" И Не Спр1.ОКПД ПОДОБНО "")
Помогли, отблагодари!

Serval

Я не совсем понял. В условии после ПОДОБНО в кавычках нужно написать какое-то определенное значение? Справочник ОКПД большой, я не смогу в запрос переписать все его значения. Мне нужно найти такой "Контракт", в котором в одной из строк есть такой ОКПД, которого не было ни в одной строке "Лота"

Yura063

Цитата: Serval от 29 окт 2014, 11:51
Я не совсем понял. В условии после ПОДОБНО в кавычках нужно написать какое-то определенное значение? Справочник ОКПД большой, я не смогу в запрос переписать все его значения. Мне нужно найти такой "Контракт", в котором в одной из строк есть такой ОКПД, которого не было ни в одной строке "Лота"
Так ОКПД это справочник! Тогда справочник.ОКПД.ПустаяСсылка!
Помогли, отблагодари!

cska-fanat-kz

Запрос.Текст =
      "ВЫБРАТЬ РАЗЛИЧНЫЕ
      |   ЛотыТЧ2.Ссылка,
      |   ЛотыТЧ2.ОбъектЗакупки.ОКПД,
      |   ЛотыТЧ2.Ссылка.Закупка
      |ПОМЕСТИТЬ ВТ_Лоты
      |ИЗ
      |   Справочник.Лоты.ТЧ2 КАК ЛотыТЧ2
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ РАЗЛИЧНЫЕ
      |   КонтрактыПредметыКонтракта.Ссылка,
      |   КонтрактыПредметыКонтракта.ПредметКонтракта.ОКПД,
      |   КонтрактыПредметыКонтракта.Ссылка.Закупка
      |ПОМЕСТИТЬ ВТ_Контракты
      |ИЗ
      |   Справочник.Контракты.ПредметыКонтракта КАК КонтрактыПредметыКонтракта
      |;
      |
      |////////////////////////////////////////////////////////////////////////////////
      |ВЫБРАТЬ
      |   ВТ_Контракты.Ссылка КАК Контракт,
      |   ВТ_Лоты.Ссылка КАК Лот
      |ИЗ
      |   ВТ_Контракты КАК ВТ_Контракты
      |      ЛЕВОЕ СОЕДИНЕНИЕ ВТ_Лоты КАК ВТ_Лоты
      |      ПО ВТ_Контракты.Закупка = ВТ_Лоты.Закупка
      |         И ВТ_Контракты.ПредметКонтрактаОКПД = ВТ_Лоты.ОбъектЗакупкиОКПД
      |ГДЕ
      |   ВТ_Лоты.Ссылка ЕСТЬ NULL ";
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Serval

Спасибо, сейчас буду пробовать. Что получится - напишу :zebzdr:
Добавлено: 30 окт 2014, 10:37


Заработало!! :) Большое спасибо, проблема решена !! :ooifh:

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

Рейтинг@Mail.ru

Поиск