|
|
МИНИМУМ в запросе к справочнику не работает?
lEvGl, paramedic, formista2000, Chameleon1980, scaramouche, obs191, laeg, PLUT, Климов Сергей, , ads55, _Batoo, Ager, zenik, Greeen, Кирпич, PR, okmail, Kongo2019, nick86, toypaul, mmg, Silgis, Somebody, Гипервизор, AndreyZhukov, vova1122, arsik, Fragster, Garykom, Gun47, Hmster, vbus, azt-yur, Fedor-1971, LoneMan, Галахад, Доминошник, Zamestas, Толич, maxar, Tarlich, Baiji, integer, X Leshiy, 2S, maxab72, SleepyHead, Beduin, Ботаник Гарден Меран, Ненавижу 1С, Hawk_1c, Бычье сердце, RomanYS, Жеглофф, JohnGilbert, Gucci76, Волшебник
| ☑ |
|
0
Климов Сергей
06.10.26
✎
13:23
|
Или лыжи не едут? Простейшая (упрощенная) задача: выбрать из справочника ДоговорыКонтрагентов элемент с минимальной Датой. Запрос:
ВЫБРАТЬ
ДоговорыКонтрагентов.Ссылка КАК Ссылка,
МИНИМУМ(ДоговорыКонтрагентов.Дата) КАК Дата
ИЗ
Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
СГРУППИРОВАТЬ ПО
ДоговорыКонтрагентов.Ссылка
И в результате получаем ВСЕ договоры из базы. ЧЯДНТ? При этом похожий по смыслу запрос к регистру сведений замечательно отбирает минимальные значения.
|
|
|
1
Fragster
гуру
06.10.26
✎
13:25
|
ну ты ему написал - выбери минимальную дату для каждой ссылки, он тебе это и сделал
|
|
|
2
Kongo2019
06.10.26
✎
13:27
|
(0)
ВЫБРАТЬ ПЕРВЫЕ 1
ДоговорыКонтрагентов.Ссылка КАК Ссылка,
ДоговорыКонтрагентов.Дата КАК Дата
ИЗ
Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ГДЕ
ДоговорыКонтрагентов.ПометкаУдаления = ЛОЖЬ
УПОРЯДОЧИТЬ ПО
ДоговорыКонтрагентов.Дата ВОЗРАСТАЮЩЕЙ
|
|
|
3
Волшебник
06.10.26
✎
13:28
|
Выбрать первые 1 ссылка
Из спр.Дог
Упорядочить по дата
|
|
|
4
Baiji
06.10.26
✎
13:34
|
ВЫБРАТЬ
ДоговорыКонтрагентов.Ссылка КАК Ссылка
ИЗ
Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ГДЕ
ДоговорыКонтрагентов.Дата В
(ВЫБРАТЬ
МИНИМУМ(Справочник.ДоговорыКонтрагентов.Дата) КАК Дата
ИЗ
Справочник.ДоговорыКонтрагентов)
|
|
|
5
Fragster
гуру
06.10.26
✎
13:34
|
скорее всего у него задача "для каждого контрагента" и это типовая задача на собеседовании на джуна
|
|
|
6
Fragster
гуру
06.10.26
✎
13:35
|
хотя я даю "три последних продажи"
|
|
|
7
PLUT
гуру
06.10.26
✎
13:36
|
(0) добавь временную табличку или вложенный запрос в запрос
|
|
|
8
Климов Сергей
06.10.26
✎
13:36
|
(5) Совершенно верно. Это упрощённая задача. Реально нужно для каждого из неопределённого количества контрагентов выбрать один договор, дата которого минимально отклоняется от заданной.
|
|
|
9
Garykom
гуру
06.10.26
✎
13:40
|
(0) Все правильно
Выбрал таблицу минимальных дат относительно договоров
Получил
Договор|МинимальнаяДата
Но так как у тебя Дата идет из самих элементов Договор (каждый договор имеет реквизит дата) - в итоге выбирает все договоры
Тебе надо выбрать вероятно самый ранний договор по контрагенту?
Или просто один самый ранний договор?
|
|
|
10
Garykom
гуру
06.10.26
✎
13:42
|
Или лыжи не едут?
Нет, просто летом стоишь в них одетый
|
|
|
11
Климов Сергей
06.10.26
✎
13:42
|
(9) Нужно для каждого из некоего набора контрагентов выбрать один договор, дата которого минимально отклоняется от заданной.
|
|
|
12
Климов Сергей
06.10.26
✎
13:42
|
(10) это я понимаю.
|
|
|
13
Garykom
гуру
06.10.26
✎
13:43
|
Задачка выбора самых ранних договоров в пределах каждого контрагента решается слегка иначе
Там или ВТ или подзапрос нужен
|
|
|
14
Garykom
гуру
06.10.26
✎
13:45
|
1. Сначала для каждого Контрагента выбери самую раннюю дату Договора, только Даты без самих ссылок на Договор
2. Затем уже имея табличку Контрагент - ДатаДоговора, банально отбираем нужные договоры и получаем Контрагент - Договор - Дата
|
|
|
15
PLUT
гуру
06.10.26
✎
13:45
|
(11) так вот жы, не благодари
https://share.google/aimode/gyhg6FIJbhbfio998
дисклеймер: всё не читал, что ИИчко написало
|
|
|
16
Garykom
гуру
06.10.26
✎
13:46
|
(14)+
3. Случай когда по одному Контрагенту, два и более Договора имею одинаковую минимальную дату - уже сам...
|
|
|
17
Garykom
гуру
06.10.26
✎
13:47
|
(15) а ИИ это (16) предусмотрел?
Или что дата может быть пустой и такие не нуна
|
|
|
18
Климов Сергей
06.10.26
✎
13:52
|
(15) Всё равно спасибо! )))
(16) (17) Разгребусь уже.
Я понял, что они не пересекаются. Но ПОЧЕМУ они не пересекаются? (с) Ералаш
Почему запрос к регистру сведений работает "в один приём", а к справочнику - нет? Или стараться не думать об этом?
|
|
|
19
PLUT
гуру
06.10.26
✎
13:53
|
|
|
|
20
Garykom
гуру
06.10.26
✎
13:59
|
(18) Почему запрос к регистру сведений работает "в один приём", а к справочнику - нет? Или стараться не думать об этом?
потому что запрос к РС другой, только кажется что похожий
|
|
|
21
Chameleon1980
06.10.26
✎
15:36
|
(18) потому, что у РС есть измерения. Почитай обязательно про особенности запросов к РС - тоже пригодится уже на следующем собесе.
|
|