|
запрос сразу с несколькими табличным частям в справочнике ↓ (Волшебник 17.06.2026 09:02) H A D G E H O G s, Хряк, elka302, Волшебник, Мультук, scaramouche, Бычье сердце, vicof, crotnn, JohnGilbert, ReaLg, serpentt, Fedor-1971, zenik, maxab72, Kigo_Kigo, Garykom, d4rkmesa, Tarlich, АгентБезопаснойНацио, Amra, Beduin, Джордж1, DemonShinji2, pavlika, obs191, maxar, ХДС, Lama12, breezee, Олдж, vis, AlexKimp, Гипервизор, Silgis, Жан Пердежон, Prog_man, 2S, RVN, av_x86, Niel_84, PuhUfa, craxx, 2mugik, SleepyHead, ads55, DJ Anthon, Скучный бух, Zamestas, PR
| ☑ | ||
|---|---|---|---|---|
|
0
Niel_84
16.06.26
✎
23:25
|
Доброго времени суток.
Подскажите, пожалуйста, как выбрать тот элемент справочника, где ни в одном табличной части нет задаваемого параметра? Делаю вот так: ВЫБРАТЬ Справочник1.Ссылка ИЗ Справочник.Справочник1 КАК Справочник1 ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Справочник1.Партнеры КАК СпрПартнеры ПО Справочник1.Ссылка = СпрПартнеры.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Справочник1.Товары КАК СпрТовары ПО Справочник1.Ссылка = СпрТовары.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Справочник1.Склады КАК СпрСклады ПО Справочник1.Ссылка = СпрСклады.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Справочник1.Каналы КАК СпрКаналы ПО Справочник1.Ссылка = СпрКаналы.Ссылка ГДЕ Справочник1.ДатаНачала <= &ДатаДок И Справочник1.ДатаОкончания >= &ДатаДок И СпрПартнеры.Партнер <> &Партнер И СпрТовары.Номенклатура <> &СписокНоменклатуры И СпрСклады.Склад <> &Склад И СпрКаналы.КаналПродаж <> &Канал вообще ничего не выходит, а должно(( при чем СписокНоменклатуры - это массив товаров |
|||
|
1
timurhv
16.06.26
✎
23:33
|
Точно так?
Справочник1.ДатаНачала <= &ДатаДок И Справочник1.ДатаОкончания >= &ДатаДок |
|||
|
2
timurhv
16.06.26
✎
23:36
|
А блин,
И НЕ СпрТовары.Номенклатура В (&СписокНоменклатуры) |
|||
|
3
Niel_84
16.06.26
✎
23:38
|
(1) дата док должна быть в промежутке
так тоже не выходит ничего Справочник1.ДатаНачала < &ДатаДок И Справочник1.ДатаОкончания > &ДатаДок |
|||
|
4
timurhv
16.06.26
✎
23:39
|
Но если это тестовое, там другой запрос дб. Я хз что требуется в итоге и какие данные вносятся.
|
|||
|
5
Niel_84
16.06.26
✎
23:42
|
(4) нужна ссылка справочника для дальнейшей работы, где задаваемые параметры не встречаются ни в одной табличной части
|
|||
|
6
Niel_84
16.06.26
✎
23:43
|
(2) спасибо изменено, но вышли не все ссылки
|
|||
|
7
H A D G E H O G s
16.06.26
✎
23:45
|
Нейросетку послали искать ответы на тупые вопросы?
|
|||
|
8
timurhv
16.06.26
✎
23:47
|
(5) в вашем запросе выведутся даже если встречается.
Например, партнеры в тч может быть Строка 1 = Партнер1 Строка 2 = Партнер2 Строка 3 = Партнер3 Вы накладываете отбор по Партнер1 и ссылка все-равно выведется из-за строки 2 и 3, притом 2 раза. |
|||
|
9
timurhv
16.06.26
✎
23:48
|
(7) это скорее всего тестовое)
|
|||
|
10
Niel_84
16.06.26
✎
23:51
|
(8) а как надо тогда?
|
|||
|
11
H A D G E H O G s
16.06.26
✎
23:52
|
(9)
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Справочник1.Партнеры КАК СпрПартнеры ПО Справочник1.Ссылка = СпрПартнеры.Ссылка даст NULL в таблице СпрПартнеры, потому что Справочник1.Ссылка - это точно не ссылка на Партнера. а потом И СпрПартнеры.Партнер <> &Партнер даст ЛОЖЬ, как сравнение с NULL Там жижица |
|||
|
12
Niel_84
16.06.26
✎
23:52
|
(7) лучше помогите пожалуйста...
|
|||
|
13
H A D G E H O G s
16.06.26
✎
23:54
|
(12) Расскажите о себе. Как вы нашли этот форум, как пришли в 1С, зачем вы тут?
|
|||
|
14
Niel_84
16.06.26
✎
23:58
|
(11) мне надо проверить сразу во всех ТЧ. как это сделать?
|
|||
|
15
Niel_84
16.06.26
✎
23:59
|
(13) если знаете как надо, помогите мне, пожалуйста...
|
|||
|
16
H A D G E H O G s
17.06.26
✎
00:01
|
(15) 3 минуты
|
|||
|
17
H A D G E H O G s
17.06.26
✎
00:09
|
Держи Аптечку, сорян, что не уложился в 3 минуты, искал нужное.
Человек - это веревка, натянутая между Зверем и Сверхчеловеком. Веревка над Бездной. Опасный путь. Опасно идти вперед, опасно оглядываться назад. Опасно останавливаться и сомневаться. Величие человека в том - что он - мост, а не тупик, что он постоянно ищет и развивается. Я восхищаюсь теми, кто не знает, как жить, ибо они перешли Бездну. Помог, чем мог. Не подведи. |
|||
|
18
timurhv
17.06.26
✎
00:52
|
(15) выберите вложенным запросом все ссылки, где встречаются в ТЧ по отборам, а потом
ВЫБРАТЬ Справочник1.Ссылка ИЗ Справочник.Справочник1 КАК Справочник1 ГДЕ Справочник1.ДатаНачала <= &ДатаДок И Справочник1.ДатаОкончания >= &ДатаДок И НЕ Справочник1.Ссылка В ( ВЫБРАТЬ ВыборкаТЧ.Ссылка ИЗ Справочник.Справочник1.Партнеры КАК ВыборкаТЧ ГДЕ ВыборкаТЧ.Ссылка.ДатаНачала <= &ДатаДок И ВыборкаТЧ.Ссылка.ДатаОкончания >= &ДатаДок И ВыборкаТЧ.Партнер = &Партнер ОБЪЕДИНИТЬ ВЫБРАТЬ ВыборкаТЧ.Ссылка ИЗ Справочник.Справочник1.Товары КАК ВыборкаТЧ ГДЕ ВыборкаТЧ.Ссылка.ДатаНачала <= &ДатаДок И ВыборкаТЧ.Ссылка.ДатаОкончания >= &ДатаДок И ВыборкаТЧ.Номенклатура В (&СписокНоменклатуры) .... ) |
|||
|
19
timurhv
17.06.26
✎
00:56
|
Но в прод такое (18) не вносить, если это тестовое - будет тема для обсуждения оптимизации вложенного запроса.
|
|||
|
20
H A D G E H O G s
17.06.26
✎
01:22
|
Мне эта наркомания напоминает вот это видео
https://vkvideo.ru/video892807552_456239251 |
|||
|
21
Niel_84
17.06.26
✎
06:03
|
(19) спасибо
сделала так. вроде всё вышло ВЫБРАТЬ СпрПартнеры.Ссылка ПОМЕСТИТЬ ВТ_ОтсутствиеВТЧ ИЗ Справочник.Справочник1.Партнеры КАК СпрПартнеры ГДЕ СпрПартнеры.Партнер <> &Партнер ОБЪЕДИНИТЬ ВЫБРАТЬ СпрТовары.Ссылка ИЗ Справочник.Справочник1.Товары КАК СпрТовары ГДЕ НЕ СпрТовары.Номенклатура В (&СписокНоменклатуры) ОБЪЕДИНИТЬ ВЫБРАТЬ СпрКаналы.Ссылка ИЗ Справочник.Справочник1.Каналы КАК СпрКаналы ГДЕ СпрКаналы.Канал <> &Канал ОБЪЕДИНИТЬ ВЫБРАТЬ СпрСклады.Ссылка ИЗ Справочник.Справочник1.Склады КАК СпрСклады ГДЕ СпрСклады.Склад <> &Склад ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ Спр.Ссылка ИЗ Справочник.Справочник1 КАК Спр ГДЕ Спр.ДатаНачала <= &ДатаДок И Спр.ДатаОкончания >= &ДатаДок И Спр.Ссылка В (ВЫБРАТЬ ВТ_ОтсутствиеВТЧ.Ссылка ИЗ ВТ_ОтсутствиеВТЧ КАК ВТ_ОтсутствиеВТЧ) |
|||
|
22
Niel_84
17.06.26
✎
06:04
|
(20) это наверно здорово повышать свою самооценку за счет унижения кого-то. Удачи Вам)
|
|||
|
23
maxab72
17.06.26
✎
08:07
|
Для начала я бы задал вопрос. По теории множеств и булевой алгебре у вас какая отметка была? Запрос на этой логике и строится. У вас есть справочник, назовем его U "universum". Первое подмножество R1 составят все его элементы, где в таб часть 1 входят параметры из списка. Второе подмножество R2 составят элементы, где во таб часть 2 входят параметры из списка и т.д. И вам надо получить U - (R1 | R2 | RN). Теперь переведите эту формулу на язык запросов, а это элементарно.
|
|||
|
24
Garykom
гуру
17.06.26
✎
08:43
|
(21) Очень криво
Обычно подобную (0) задачу решают через ЕСТЬ NULL |
|||
|
25
Мультук
гуру
17.06.26
✎
09:09
|
(22)
Задал вопрос ИИ (deepseek). Один из ответов с ЛЕВОЕ СОЕДИНЕНИЕ В ГДЕ ИЛИ можно заменить на И, я и сам не вникал, что нужно автору Запрос.Текст = " |ВЫБРАТЬ | Нечто.Ссылка КАК Ссылка, | Нечто.Наименование КАК Наименование |ИЗ | Справочник.Нечто КАК Нечто | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Нечто.Склады КАК Склады | ПО Склады.Ссылка = Нечто.Ссылка | И Склады.Склад = &Склад | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Нечто.Контрагенты КАК Контрагенты | ПО Контрагенты.Ссылка = Нечто.Ссылка | И Контрагенты.Контрагент = &Контрагент | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Нечто.ВидыЦен КАК ВидыЦен | ПО ВидыЦен.Ссылка = Нечто.Ссылка | И ВидыЦен.ВидЦены = &ВидЦены |ГДЕ | Склады.Склад ЕСТЬ NULL | ИЛИ Контрагенты.Контрагент ЕСТЬ NULL | ИЛИ ВидыЦен.ВидЦены ЕСТЬ NULL |"; |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |