Имя: Пароль:
1C
1С v8
Выбрать максимальную запись по периоду в запросе
0 dredd_semsk
 
25.11.22
20:48
Есть контрагент, на него идет левое соединение регистра сведении ПрикреплениеТорговыхПредставителей(ПТП). Но записей ПТП может быть несколько на одного контрагента. Надо взять только одну запись с максимальной датой прикрепления:  

Контрагент      ТорговыйПред.      ДатаПрикрепления
ИП  Петров      Сидоров А. В.      01.10.2019
ИП  Петров      Иванов  С. П.      20.08.2022
ИП  Петров      Андреев К. Т.      14.04.2016  

Должно получится:

Контрагент      ТорговыйПред.      ДатаПрикрепления
ИП  Петров      Иванов  С. П.      20.08.2022

Подскажите пожалуйста можно ли обойтись без виртуальных таблиц. Если да, то как?
1 Said_We
 
25.11.22
20:58
(0) В 1С используют обычно два способа.
1. Сначала находят максимальную дату по каждому контрагенту и эту таблицу цепляют к контрагенту, а потом ещё раз цепляют для определения других полей, но в соединении используют дату. По факту два соединения.
2. Коррелированный запрос. Используют реже. Там одно соединение, но в условии соединения будет "ДатаПрикрепления  в (выбрать первые 1... упорядочить по ДатаПрикрепления убыв)"

Наверняка есть и другие способы....
2 СвинТуз
 
26.11.22
09:29
Всегда удивляло почему при приеме на работу большинство
работодателей задают именно этот вопрос.
Хотя ответ есть у Радченко в талмуде для новичков.
3 hockeyist
 
26.11.22
09:31
(2) А какой им еще вопрос задавать? Генератор вопросов по 1С пока не придумали
4 СвинТуз
 
26.11.22
09:33
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.