Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
02 июн 2024, 09:38

Выбрать последние строки из табличной части справочника

Автор agsave, 11 июн 2015, 23:48

0 Пользователей и 1 гость просматривают эту тему.

agsave

//I need help!
Необходимо получить последние строки табличной части элементов справочника. Я очень новичок, может не совсем верно ставлю проблему.
Есть Справочник.Клиенты, а в нем табличная часть ТабличнаяЧасть с реквизитом дата, которая содержит для каждого клиента определенное количество строк. Хочу получить запросом такой результат:

Клиент      Дата из последней строки табличной части
Клиент2     Дата из последней строки табличной части
Клиент3     Дата из последней строки табличной части

Помогите пожалуйста.

vitasw

Вы точно уверены, что в клиенте это именно табличная часть, а не какой-нибудь регистр сведений-список?
Добавлено: 12 июн 2015, 09:55


На случай если таки уверены, вот вам пример:
"ВЫБРАТЬ
| КонтрагентыМенеджерыПокупателя.Ссылка КАК Контрагент,
| КонтрагентыМенеджерыПокупателя.НомерСтроки,
| КонтрагентыМенеджерыПокупателя.МенеджерПокупателя КАК КакаяТоДата
|ПОМЕСТИТЬ втТабКонтрагентов
|ИЗ
| Справочник.Контрагенты.МенеджерыПокупателя КАК КонтрагентыМенеджерыПокупателя
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Контрагенты.Ссылка,
| втТабКонтрагентов.КакаяТоДата
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| МАКСИМУМ(втТабКонтрагентов.НомерСтроки) КАК НомерСтроки,
| втТабКонтрагентов.Контрагент КАК Контрагент
| ИЗ
| втТабКонтрагентов КАК втТабКонтрагентов
|
| СГРУППИРОВАТЬ ПО
| втТабКонтрагентов.Контрагент) КАК ВложенныйЗапрос
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втТабКонтрагентов КАК втТабКонтрагентов
| ПО ВложенныйЗапрос.Контрагент = втТабКонтрагентов.Контрагент
| И ВложенныйЗапрос.НомерСтроки = втТабКонтрагентов.НомерСтроки
| ПО Контрагенты.Ссылка = ВложенныйЗапрос.Контрагент
|ГДЕ
| НЕ Контрагенты.ЭтоГруппа"

LexaK

ну что за бред? уж если советуете то пишите просто и оптимально
если, только, конечно, не было целью, запутать бедного ученика еще больше. :befhbt:
Цитировать
"ВЫБРАТЬ
| КонтрагентыМенеджерыПокупателя.Ссылка КАК Контрагент,
| КонтрагентыМенеджерыПокупателя.НомерСтроки,
| КонтрагентыМенеджерыПокупателя.МенеджерПокупателя КАК КакаяТоДата
|ПОМЕСТИТЬ втТабКонтрагентов
|ИЗ
| Справочник.Контрагенты.МенеджерыПокупателя КАК КонтрагентыМенеджерыПокупателя
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Контрагенты.Ссылка,
| втТабКонтрагентов.КакаяТоДата
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| МАКСИМУМ(втТабКонтрагентов.НомерСтроки) КАК НомерСтроки,
| втТабКонтрагентов.Контрагент КАК Контрагент
| ИЗ
| втТабКонтрагентов КАК втТабКонтрагентов
|
| СГРУППИРОВАТЬ ПО
| втТабКонтрагентов.Контрагент) КАК ВложенныйЗапрос
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ втТабКонтрагентов КАК втТабКонтрагентов
| ПО ВложенныйЗапрос.Контрагент = втТабКонтрагентов.Контрагент
| И ВложенныйЗапрос.НомерСтроки = втТабКонтрагентов.НомерСтроки
| ПО Контрагенты.Ссылка = ВложенныйЗапрос.Контрагент
|ГДЕ
| НЕ Контрагенты.ЭтоГруппа"


простой запрос, возвращают таблицу с колонками Клиент - (максимальная)Дата, что и требуется

|Выбрать
|    Спр.Ссылка как Клиент,
|    Максимум(Спр.Дата) как Дата
|Из
|    Справочник.Клиенты.ТабличнаяЧасть как Спр
|Сгруппировать по
|    Спр.Ссылка
|Упорядочить по
|    Спр.Ссылка
|Автоупорядочивание
|
если помогло нажмите: Спасибо!

agsave

Спасибо! Благодаря вашим ответам у меня получилось.

Похожие темы (5)

Рейтинг@Mail.ru

Поиск