# Форум 1С > Конфигурирование, программирование 1С - Предприятие > 1С - Предприятие 8.0, 8.1, 8.2, 8.3 >  Запросы

## Eden Hazard

Добрый день. В регистре накопления имеется измерение Касса. Так вот, необходимо получить последнюю запись регистра для соответствующей кассы.. Надеюсь поняли меня.

----------


## AlexeyKh

да, вас поняли! в регистре накопления есть регистратор, это документ, в документе есть дата, по которой можно найти последню запись, пишите запрос по максимальной дате для заданной кассы и все готово!!! надеюсь я понятно объяснил?

----------


## Eden Hazard

каким образом это будет выглядеть, не подскажете?

---------- Post added at 15:22 ---------- Previous post was at 15:22 ----------

Вроде понятно, но все же

----------


## Balu203

Типа того:

ВЫБРАТЬ ПЕРВЫЕ 1
	*
ИЗ
	РегистрНакопления.Продажи КАК Продажи
упорядочить по Продажи.МоментВремени убыв

Причем упорядочивать по убыванию надо именно по моменту времени, а не по дате!

----------


## Eden Hazard

такой способ я уже делал... Он позволяет получить только одну последнюю запись. А мне нужно, что получал последние записи определенной кассы. Например, для основной кассы были записи 13, 14 и 15 числа, для кассы1, например, 14, 15. Вот для этих касс мне нужно получить две записи регистра 15 числа.

----------


## Balu203

> такой способ я уже делал... Он позволяет получить только одну последнюю запись. А мне нужно, что получал последние записи определенной кассы. Например, для основной кассы были записи 13, 14 и 15 числа, для кассы1, например, 14, 15. Вот для этих касс мне нужно получить две записи регистра 15 числа.


Понятно, для каждой кассы надо получить последнюю запись...

Приведу пример подобного запроса для регистра сведений "Курсы валют", который для каждой валюты выводит последнюю запись, Вам надо сделать по аналогии, если есть не период, а момент времени, то использовать надо именно момент времени

ВЫБРАТЬ РАЗЛИЧНЫЕ
	Валюты.Ссылка
ПОМЕСТИТЬ ВТ
ИЗ
	Справочник.Валюты КАК Валюты
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	КурсыВалют.Период КАК Период,
	КурсыВалют.Валюта КАК Валюта,
	КурсыВалют.Курс,
	КурсыВалют.Кратность
ПОМЕСТИТЬ ВТ1
ИЗ
	РегистрСведений.КурсыВалю   КАК КурсыВалют

ИНДЕКСИРОВАТЬ ПО
	Период,
	Валюта
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
	ВТ.Ссылка,
	ВТ1.Период,
	ВТ1.Валюта,
	ВТ1.Курс,
	ВТ1.Кратность
ИЗ
	ВТ КАК ВТ
		ЛЕВОЕ СОЕДИНЕНИЕ ВТ1 КАК ВТ1
		ПО ВТ.Ссылка = ВТ1.Валюта
			И (ВТ1.Период В
				(ВЫБРАТЬ первые 1
					вт1.Период
				ИЗ
					вт1 КАК вт1
				где
					вт.ссылка = вт1.валюта
				упорядочить по вт1.период убыв
					))

----------


## AlexeyKh

вот другой вариант запроса, с использованием временной таблицы, хотя можно запрос и по другому построить.
...
Запрост.текст="
выбрать 
   максимум(рег.Период) как Период,
   рег.Касса
поместить Таб
Из Регистр... рег
сгруппировать по 
рег.Касса
;
Выбрать 
   рег.*
Из Регистр... рег
внутреннее соединение Таб
   по Таб.Период = рег.Период
   и Таб.Касса = рег.Касса
упорядочить по 
   рег.Период,
   рег.Касса
"

----------


## Balu203

> вот другой вариант запроса, с использованием временной таблицы, хотя можно запрос и по другому построить.
> ...
> Запрост.текст="
> выбрать 
>    максимум(рег.Период) как Период,
>    рег.Касса
> поместить Таб
> Из Регистр... рег
> сгруппировать по 
> ...


Можно и так, маленькое уточнение, так будет быстрее:
выбрать 
   максимум(рег.Период) как Период,
   рег.Касса
поместить Таб
Из Регистр... рег
сгруппировать по 
рег.Касса
*индексировать по
период,
касса*
;
Выбрать 
   рег.*
Из Регистр... рег
внутреннее соединение Таб
   по Таб.Период = рег.Период
   и Таб.Касса = рег.Касса
упорядочить по 
   рег.Период,
   рег.Касса
"[/QUOTE]

---------- Post added at 09:54 ---------- Previous post was at 09:37 ----------

А можно вообще мозги не полоскать и сделать еще проще:

Выбрать 
    Рег.* 
Из 
    РегистрНакопления.Касса как Рег
Где
    (Рег.Период, Рег.Касса) В (Выбрать 
                                              МАКСИМУМ(Рег.Период),
                                              Рег.Касса
                                          ИЗ
                                              РегистрНакопления.Касса как Рег
                                          Сгруппировать ПО Рег.Касса)

----------

