|
Оператор В в запросе
ИУБиПовиц, crotnn, Шурик71, lexushka, craxx, lEvGl, МаленькийВопросик, banco, rozer76, trk415e76, Hawk_1c, Chameleon1980, VladZ, Прохожий, Timon1405, kostyn, Kongo2019, Жеглофф, qwerty, Волшебник, formista2000, Многолетний Апельсин, kostik79, ДемьянТ, PR, Группа неравнодушных, Terrixus, Ботаник Гарден Меран, DeeK, paramedic, Ненавижу 1С, SeriyP, John D
| ☑ |
0
kostyn
16.09.25
✎
11:14
|
Нужно получить документы, у которых в табличной части ни один из элементов не входил бы в список (ну либо нужно, чтобы в табчасти были только элементы, которые есть в списке). Первое, что пришло на ум вот такой запрос, насколько он правильно отрабатывает?
ВЫБРАТЬ
СписокПокупок.Ссылка КАК Ссылка
ИЗ
Документ.СписокПокупок КАК СписокПокупок
ГДЕ
НЕ СписокПокупок.Товары.Товар В
(ВЫБРАТЬ
ПокупкиОбороты.Товар КАК Товар
ИЗ
РегистрНакопления.Покупки.Обороты КАК ПокупкиОбороты
ГДЕ
ПокупкиОбороты.КПокупкеОборот > 0)
|
|
1
Kongo2019
16.09.25
✎
11:16
|
(0) Вложенные запросы нынче не в моде. Делать вложенный как временную таблицу и потом объединяй.
|
|
2
Волшебник
16.09.25
✎
11:20
|
(0) Задача неверная, потому что документ СписокПокупок делает движения по регистру Покупки, то есть в результате будут просто непроведённые документы.
|
|
3
Ненавижу 1С
гуру
16.09.25
✎
11:46
|
(0) нет, сейчас показывает документы, у которых есть товар не из вложенного товара (а требуется только ВСЕ такие)
(2) Если товар купили, а потом вернули - обороты будут ноль и в список не попадет, например
|
|
4
Волшебник
16.09.25
✎
11:47
|
(0) Регистр Покупки надо переименовать в Продажи
|
|
5
Dmitrii
гуру
16.09.25
✎
12:24
|
(0) >> получить документы, у которых в табличной части ни один из элементов не входил бы в список
>> нужно, чтобы в табчасти были только элементы, которые есть в списке
Это две разные задачи, решаемые разными запросами.
В любом из указанных случаев запрос может быть БЕЗ использования оператора В.
Или это задача на тестировании и оператор В - обязательное условие?
|
|
6
Rovan
гуру
16.09.25
✎
12:51
|
(3) "а требуется только ВСЕ такие)"
сравнивай количество строк в документе с количеством, которое вернул запрос
|
|
7
Ненавижу 1С
гуру
16.09.25
✎
13:39
|
(6) я думаю, это тестовое задание, пусть думает
|
|
8
lEvGl
гуру
16.09.25
✎
13:30
|
(0) выбрать ссылки, где есть хоть один из списка, исключить эти ссылки из результирующей выборки
|
|
9
Маленький Вопросик
16.09.25
✎
16:05
|
Вложенный запрос - это ужасно! Усложняет как чтение, так и корректировку
|
|
10
Маленький Вопросик
16.09.25
✎
16:09
|
Делаешь так:
1. Выбираешь все документы (ссылки) где существует твой список товаров. - собираешь ссылки в таблицу
2. Выбираешь все документы, которые НЕ в этой таблице
|
|
11
Маленький Вопросик
16.09.25
✎
16:10
|
Это собеседование на кого? На сеньора?
|
|
12
lEvGl
гуру
16.09.25
✎
16:22
|
(11) на сеньора-минёра ;)
|
|
13
Маленький Вопросик
16.09.25
✎
16:55
|
(12) на сеньера-помидора
|
|
14
Прохожий
16.09.25
✎
18:29
|
"Нужно получить документы, у которых в табличной части ни один из элементов не входил бы в список (ну либо нужно, чтобы в табчасти были только элементы, которые есть в списке). " Сначала ВТ1 список документов, у которых в ТЧ присутствуют товары списка. Далее ВТ2 список документов, у которых в ТЧ отсутствуют товары списка. Если из списка ВТ2 исключить ВТ1 получим первое, если из ВТ1 исключить ВТ2 получим второе. Чтобы исключить делаем левое соединение и ссылка правой таблицы есть NULL.
|
|
15
Прохожий
16.09.25
✎
17:57
|
Тупая ветка
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший