Здравствуйте, отчет по договорам сейчас выводит в столбце СчетНаОплатуПокупателю.Дата все договора, нужен только последний. Не могу понять куда именно вставить вложенный запрос, где будет ВЫБРАТЬ ПЕРВЫЕ 1, и УПОРЯДОЧИТЬ ПО УБЫВ
Подскажите, пожалуйста, ниже запрос:
Подскажите, пожалуйста, ниже запрос:
ВЫБРАТЬ
ДоговорыКонтрагентов.Ссылка КАК Ссылка,
ДоговорыКонтрагентов.Представление,
ДоговорыКонтрагентов.Владелец,
ПРЕДСТАВЛЕНИЕ(ДоговорыКонтрагентов.Владелец),
ДоговорыКонтрагентов.Дата,
ДоговорыКонтрагентов.Номер,
ЗначенияСвойствОбъектов.Значение,
ПРЕДСТАВЛЕНИЕ(ЗначенияСвойствОбъектов.Значение),
СчетНаОплатуПокупателю.Дата КАК Дата1
ИЗ
Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО ДоговорыКонтрагентов.Ссылка = ЗначенияСвойствОбъектов.Объект
И (ЗначенияСвойствОбъектов.Свойство.Наименование = "Периодичность (мес)")
ПО СчетНаОплатуПокупателю.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
ГДЕ
ДоговорыКонтрагентов.Наименование ПОДОБНО "%ЦТО%"
ПоказатьПо теме из базы знаний
Найденные решения
ВЫБРАТЬ
ДоговорыКонтрагентов.Ссылка КАК Ссылка,
ДоговорыКонтрагентов.Представление,
ДоговорыКонтрагентов.Владелец,
ПРЕДСТАВЛЕНИЕ(ДоговорыКонтрагентов.Владелец),
ДоговорыКонтрагентов.Дата,
ДоговорыКонтрагентов.Номер,
ЗначенияСвойствОбъектов.Значение,
ПРЕДСТАВЛЕНИЕ(ЗначенияСвойствОбъектов.Значение),
СчетНаОплатуПокупателю.Дата КАК Дата1
Поместить Исх
ИЗ
Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО ДоговорыКонтрагентов.Ссылка = ЗначенияСвойствОбъектов.Объект
И (ЗначенияСвойствОбъектов.Свойство.Наименование = "Периодичность (мес)")
ПО СчетНаОплатуПокупателю.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
ГДЕ
ДоговорыКонтрагентов.Наименование ПОДОБНО "%ЦТО%"
;/////////////////////////////////////////
ВЫбрать
Исх.Владелец,
Максимум( Исх.Дата) КАК Дата
Поместить Груп
ИЗ Исх КАК Исх
/////////////////////////////////////////
Выбрать
Исх.Ссылка КАК Ссылка,
Исх.Представление,
Исх.Владелец,
Исх.Дата,
Исх.Номер,
Исх.Значение,
Исх.Дата КАК Дата1
ИЗ Исх КАК Исх
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Груп КАК Груп ПО
Исх .Владелец = Груп.Владелец И
Исх .Дата= Груп.Дата
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Добавь группировку с агрегацией по максимуму: МАКСИМУМ(СчетНаОплатуПокупателю.Дата) КАК Дата1.
ВЫБРАТЬ
ДоговорыКонтрагентов.Ссылка КАК Ссылка,
ДоговорыКонтрагентов.Представление,
ДоговорыКонтрагентов.Владелец,
ПРЕДСТАВЛЕНИЕ(ДоговорыКонтрагентов.Владелец),
ДоговорыКонтрагентов.Дата,
ДоговорыКонтрагентов.Номер,
ЗначенияСвойствОбъектов.Значение,
ПРЕДСТАВЛЕНИЕ(ЗначенияСвойствОбъектов.Значение),
МАКСИМУМ(СчетНаОплатуПокупателю.Дата) КАК Дата1
ИЗ
Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО ДоговорыКонтрагентов.Ссылка = ЗначенияСвойствОбъектов.Объект
И (ЗначенияСвойствОбъектов.Свойство.Наименование = "Периодичность (мес)")
ПО СчетНаОплатуПокупателю.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
ГДЕ
ДоговорыКонтрагентов.Наименование ПОДОБНО "%ЦТО%"
СГРУППИРОВАТЬ ПО
ДоговорыКонтрагентов.Ссылка,
ДоговорыКонтрагентов.Представление,
ДоговорыКонтрагентов.Владелец,
ПРЕДСТАВЛЕНИЕ(ДоговорыКонтрагентов.Владелец),
ДоговорыКонтрагентов.Дата,
ДоговорыКонтрагентов.Номер,
ЗначенияСвойствОбъектов.Значение,
ПРЕДСТАВЛЕНИЕ(ЗначенияСвойствОбъектов.Значение)
ПоказатьВЫБРАТЬ
ДоговорыКонтрагентов.Ссылка КАК Ссылка,
ДоговорыКонтрагентов.Представление,
ДоговорыКонтрагентов.Владелец,
ПРЕДСТАВЛЕНИЕ(ДоговорыКонтрагентов.Владелец),
ДоговорыКонтрагентов.Дата,
ДоговорыКонтрагентов.Номер,
ЗначенияСвойствОбъектов.Значение,
ПРЕДСТАВЛЕНИЕ(ЗначенияСвойствОбъектов.Значение),
СчетНаОплатуПокупателю.Дата КАК Дата1
Поместить Исх
ИЗ
Документ.СчетНаОплатуПокупателю КАК СчетНаОплатуПокупателю
ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ДоговорыКонтрагентов КАК ДоговорыКонтрагентов
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
ПО ДоговорыКонтрагентов.Ссылка = ЗначенияСвойствОбъектов.Объект
И (ЗначенияСвойствОбъектов.Свойство.Наименование = "Периодичность (мес)")
ПО СчетНаОплатуПокупателю.ДоговорКонтрагента = ДоговорыКонтрагентов.Ссылка
ГДЕ
ДоговорыКонтрагентов.Наименование ПОДОБНО "%ЦТО%"
;/////////////////////////////////////////
ВЫбрать
Исх.Владелец,
Максимум( Исх.Дата) КАК Дата
Поместить Груп
ИЗ Исх КАК Исх
/////////////////////////////////////////
Выбрать
Исх.Ссылка КАК Ссылка,
Исх.Представление,
Исх.Владелец,
Исх.Дата,
Исх.Номер,
Исх.Значение,
Исх.Дата КАК Дата1
ИЗ Исх КАК Исх
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Груп КАК Груп ПО
Исх .Владелец = Груп.Владелец И
Исх .Дата= Груп.Дата
Показать
(5) В такой конструкции ВТ вообще не нужны. К тому же, еще и запрос кривой, если, конечно, я правильно понял задачу. У вас в результате выберет последний счет по контрагенту без учета договора. Т.е. на все договора контрагента будет один счет по "случайному" договору.
(10) В этом случае скорее да. Но бывает, что нужно доработать чужой код и тогда часто проще взять то, что автор изначального кода уже получил спустя сотни-тысячи строк от первоначальных таблиц базы. особенно если стиль написания в корне отличается от Вашего собственного. Мне такие "подзадачи" чаще встраивать в что-то готовое приходилось, поэтому временная таблица сама собой всплыла :)
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот