Имя: Пароль:
1C
1С v8
Помогите с запросом
0 kievgorez
 
06.04.12
18:04
Помогите плз с запросом. Конфа самописная на платформе 8.2

Есть документ Маршрутный лист с табличной частью, где хранятся статусы этого документа. Нужно получить список документов с последним статусом с табличной части. Попробовал так, но в данной случае статус выводиться для последнего документа. А как для всех? Подскажите..

               |ВЫБРАТЬ
       |  МаршрутныеЛисты.Ссылка,
       |  СтатусыМЛ.Статус       КАК Статус
       |
       | ИЗ  Документ.МаршрутныйЛист КАК  МаршрутныеЛисты
       | ЛЕВОЕ  СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1
       |          Статусы.СтатусМЛ КАК Статус,
       |          Статусы.Ссылка КАК МЛ
       |        ИЗ Документ.МаршрутныйЛист.ИзмененияСтатусов КАК Статусы
       |)    КАК СтатусыМЛ
       |  ПО   СтатусыМЛ.ТекМЛ=МаршрутныеЛисты.Ссылка
1 kievgorez
 
06.04.12
18:10
Очепятка ..
 |  ПО   СтатусыМЛ.МЛ=МаршрутныеЛисты.Ссылка
2 Reset
 
06.04.12
18:15
Что есть "последний" статус?
Если предположить, что это строка в ТЧ с макс номером строки, то вот так можно

ВЫБРАТЬ РАЗЛИЧНЫЕ
   Статусы.Ссылка,
   МАКСИМУМ(Статусы.НомерСтроки) КАК НомерСтроки
ПОМЕСТИТЬ МаксимальныеНомера
ИЗ
   Документ.МаршрутныйЛист.ИзмененияСтатусов КАК Статусы

СГРУППИРОВАТЬ ПО
   Статусы.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   МаксимальныеНомера.Ссылка,
   Статусы.Статус
ИЗ
   МаксимальныеНомера КАК МаксимальныеНомера
       ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.МаршрутныйЛист.ИзмененияСтатусов КАК Статусы
       ПО МаксимальныеНомера.Ссылка = Статусы.Ссылка
           И МаксимальныеНомера.НомерСтроки = Статусы.НомерСтроки
3 alextom81
 
06.04.12
18:16
ВЫБРАТЬ ПЕРВЫЕ 1
ВЫБРАТЬ РАЗЛИЧНЫЕ
4 kievgorez
 
06.04.12
18:16
По сути да, с макс. номером строки. Счас попробую...
5 Reset
 
06.04.12
18:18
(4)  в (2) за оптимальность не ручаюсь, написал, честно говоря, первое, что пришло в голову  :)