#0
by r1000
Есть таблица значений. В таблице одна колонка "Свойство". Количество строк в таблице может быть различным, сами свойства тоже могут быть различными. Еще есть справочник с табличной частью, в табличной части один реквизит "Свойство". Задача: найти элемент справочника, в котором табличная часть будет совпадать с таблицей значений. Как запросом сделать ?
#7
by r1000
Вот таким запросом пытаюсь. ТЗ в ВТ и соединяю. Но тут запрос мне выдает таблицу, а мне нужен элемент
#11
by StaticUnsafe
Если в ТЧ элемента справочника содержаться теже строки что и в таблице значений + еще несколько то соединение даст и этот элемент
#13
by r1000
Вот моя ТЗ и элементы справочника. Мне нужно в запросе найти только элемент3, так как только в нем есть полное совпадение по значениям. Как сделать ? ТЗ Значение1 Значение2 Значение3 Элемент1 Значение1 Значение2 Значение3 Значение4 Элемент2 Значение1 Значение0 Значение3 Элемент3 Значение2 Значение1 Значение3
#15
by Любопытная
Выбираешь все элементы, у которых есть значения из ТЗ, потом делаешь внутреннее соединение полученной таблицы и ТЗ и выбираешь только те, где всё совпало. По-моему так
#16
by r1000
Спасибо!, но у меня количество ключей не известно, а собирать запрос муторно, наверняка есть более простой вариант...
#18
by StaticUnsafe
А если одно свойство в ТЗ 1 раз, а в ТЧ 3 раза, они тоже не совпадают? Короче хэшируй все ТЧ и ТЗ и по совпадению хэша ))
#19
by r1000
Нет. Не совпадают. Строк и там и там должно быть одинаково, и значения строк должны быть одинаковыми, а порядок строк не важен.
#20
by crotnn
Давненько решал подобную задачу. Сразу предупреждаю, это была только наработка, в проект не вошла, но зато работает ))) Справочник.ЭлементыНоменклатуры.ЗначенияСвойств КАК ЭлементыНоменклатурыЗначенияСвойств ИЗ Где СписокСвойств - массив всех строк колонки твоей ТЗ, КоличествоСвойств - количество строк в ТЗ.
#21
by User_Agronom
"...Как запросом сделать ?" "...а собирать запрос муторно, наверняка есть более простой вариант..." У меня нет слов описать эту ситуацию.
#22
by crotnn
+В первом запросе формируется ВТ из элементов справочника, у которого в ТЧ есть хотя бы одно свойство из искомого и количество свойств совпадает с искомым, во втором левое соединение ищет итоговый элемент по полному вхождению ТЗ в ТЧ и совпадению количества строк ТЗ и ТЧ
#23
by D_E_S_131
"а мне нужен элемент" — если суть вопроса только в этом, то достаточно из ТЗ выгрузить значения из колонки в массив, массив передать как параметр. Из "Справочник.ЭлементыНоменклатуры.ЗначенияСвойств" выбирать поле "Ссылка", используя условие "В (..)" и конструкцию "ВЫБРАТЬ ПЕРВЫЕ 1".
#25
by crotnn
Нет, он выберет все элементы, у которых совпадет хотя бы одно свойство ))) А ТС нужно полное совпадение.
#28
by Ёпрст
это не совсем верное решение - привязка к количеству свойств. Это будет работать только, если все значения свойства уникальны для каждого объекта. А это, далеко не всегда так.
#31
by crotnn
Да, изначально задача стояла записывать уникальный состав ТЧ для элемента справочника. По идее, если есть несколько элементов с одинаковым составом ТЧ, то запрос должен вернуть все эти элементы. Надеюсь r1000 проверит и напишет о результатах
#32
by Ёпрст
тч может быть и уникальна, а вот значения свойств для элемента справочника - нет (и наоборот). И всё, привет котёнку.
#33
by r1000
Ну пока тесты дают правильную работу. У меня значения ТЗ ищутся в подчиненном ей справочнике. И задача, строго говоря, стоит только в том, чтобы узнать существует ли хоть один элемент с таким набором значений(если существует, то создавать его не нужно).
#36
by crotnn
А что значит "значения не уникальны"? Допустим, есть справочник, в нем ТЧ "Цвета", у одно элемента в тч белый, зеленый, синий; у другого красный, зеленый, синий. Значения свойств для элемента уникальны или нет?
#40
by Ёпрст
где это написано "что не может" ? Как проверял ? С чего такая уверенность ? Это сплошь и рядом, особенно, если свойства задают групповыми обработками
#43
by r1000
Сам алгоритм создания элементов справочника не пропустит задвоения. Но сделаю еще дополнительные костыли для уверенности.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- По умолчанию при нажатии Ctrl-F поиск настроен на поиск по текущей колонке
- В Проводнике не работает Поиск!?! при нажатии на Поиск процесс зависает, справа как
- Поиск элемента справочника методом НайтиПоРеквизиту()
- Что быстрее? Поиск в таблице значений, соответствии или прямой поиск в базе?
- Поиск в УФ как програмно отключить поиск?
- 1С 8.3. Что быстрее - поиск по коду в справочнике или поиск в ТЗ
- 1С:Предприятие 8.1 УТ 10.3 Как Поиск по штрихкоду поменять на поиск по коду?
- v7: Поиск элемента справочника по нескольким реквизитам
В этой группе 1С
- RLS для справочника Сотрудники в ЗУП
- 1c 8.3 УФ , как от одного пользователя передать настройки интерфейса другому?
- как в запросе получить уровни приоритетов по группам?
- УТ 10.3 фискальный регистратор печатает только первый товар чека (
- Поле объекта не обнаружено (ДанныеДляПечати)
- Шаблон внешнего отчета для 1С 8 обычное приложение
- УПП РАУЗ При списании материала стоимость встает неправильно
- Розница 1.0 Как вывести на печать номера штрихкодов?
- Нетиповой обмен УНФ - БП 3.0
- Обновить реквизиты банка 1с УПП
- Определить находится ли элемент справочника в необходимой группе (выборке)
- Налоговый учет БП 3.0
- встроенный язык: глобальные процедуры и функции
- Сервер 1с 8.3 соединений нет , но база заблокирована конфигуратором
- Сторнирование отпуска во время болезни, ЗУП 2.5.90.2
- Не активна кнопка сохранить как в УАТ Проф
- Почтовые вложения БП 2.0
- Добавить поле "Итог" в печатную форму "Требование-накладная (М-11)"
- Задачи на рабочий стол БГУ 2.0
- Начисление амортизации НМА не верно распределяет