Регистр сведений. Срез последних #377390


#0 by Vitello
Сильно не ругайтесь, знаю что боян, но никак не могу найти. Есть регистр сведений с 3мя измерениями, срез последних возвращает несколько записей, мне нужно получить последнюю из них. Делаю так: ВЫБРАТЬ ПЕРВЫЕ 1    ОформленныеБСОСрезПоследних.Номер КАК Номер,    ОформленныеБСОСрезПоследних.Серия КАК Серия, ИЗ    РегистрСведений.ОформленныеБСО.СрезПоследних( Договор, Вид - измерения, все остальное реквизиты. Возвращает - пусто.
#1 by Vitello
Забыл добавить, этот запрос - вложенный, связь идет по измерению договор.
#2 by Шурик71
> Договор, Вид - измерения, все остальное реквизиты. реквизиты или ресурсы?
#3 by Vitello
Ресурсы.
#4 by gr13
а на какую дату ты срез делаешь?
#5 by Mitriy
на сейчас...
#6 by gr13
а разве это на сейчас?
#7 by Vitello
На конечную, параметром задается. Пробовал и указывать и не указывать, один хрен null, хотя записи точно есть.
#8 by Mitriy
что значит последняя запись? если по периоду, то там все будут последними, это же срез последних...
#9 by Vitello
Там вот такой кусок: ... ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1    ОформленныеБСОСрезПоследних.Договор КАК Договор, ИЗ ПО ДопсДСП.ИсходныйДоговор = ОформленныеБСОСрезПоследних.Договор ...
#10 by Vitello
Ну мне возвращается несколько записей, хочу первую с конца, одну только.
#11 by Mitriy
дык ты определись сначала, что в твоем понимании конец...
#12 by gvido
Вид.тип - это измерение или ресурс?
#13 by Vitello
Вид - измерение. Я метод просто не знаю как правильно это сделать. Как мне получить последнюю запись из регистра по моим условиям? Регистр, периодический: 3 измерения: Договор, Вид, Объект. 3 ресурса: Серия,Номер,Наличие.
#14 by НЕА123
по ресурсу низя, кажется. вроде все правильно. КонДата - действетельно сегодня? Точно есть такие записи.
#15 by Mitriy
тебе надо наложить условие на все три измерения, тогда получишь одну-единственную запись...
#16 by Vitello
Записи по периоду меньше чем КонДата Не могу на все 3. Вид разный может быть...Объект в пределах договора одинаков.
#17 by Mitriy
ну хорошо, смотри, на определенную дату у тебя выйдет, например, три записи, которые будут отличаться только ресурсами и измерением Вид (период у них будет совершенно одинаковый)... какая из этих записей, по-твоему, должна быть последней? Если ты не сможешь ответить, то чего ты хочешь от запроса?
#18 by Vitello
Я понял, поэтому в и спрашиваю, как подобные вещи делаются? К реальной таблице обратиться?
#19 by НЕА123
прав . Попробуй так. ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1   ОформленныеБСОСрезПоследних.Договор КАК Договор,    РегистрСведений.ОформленныеБСО.СрезПоследних( ...
#20 by Mitriy
да обращайся к чему хочешь, только сначала скажи, чем последняя запись отличается от непоследней в твоем понимании...
#21 by Mort
Никак. В базе не хранится что ты последним ввел, курс доллара на 10 число или курс евро на 10 число.
#22 by НЕА123
а он и так 1 получает (даже без первых)
#23 by НЕА123
+ ...или нет? пятница....
#24 by Mitriy
пятница ))
#25 by Vitello
На примере, по одному договору: Период      Вид Номер Серия Наличие 20.04.2007    1   123     А Истина 20.03.2008    1   123     А Ложь 20.03.2008    2   456     А Истина Хочу получить только эту запись: 20.03.2008    2   456     А Истина
#26 by Шурик71
У него не та проблема. А проблема в том, что надо сначала получить срез по всем договорам и по нескольким видам, потом (!) соединить с договорами и только после этого (!) отобрать последний вид... Автор же в самой ВТ пытается отобрать последний вид, поэтому и не отрабатывает соединение по договорам (последняя запись по другому договору). Не парься. Без извратов через срез последних не сделаешь.  Делай запрос к самому рег. сведений, и сам организуй срез.
#27 by Mitriy
здесь я вижу, что можно отсортировать по Номер или по Серия Убыв и взять Первые 1
#28 by Vitello
Номер и серия могут быть какие угодно, мне их получить надо.
#29 by Mitriy
значит скорее всего неправильная постановка задачи, читай , м.б. это поможет... но взять последнее из того, что фиг знает как сортировать - невозможно, можно взять только то, что попадется...
#30 by НЕА123
"первые" надо убирать, т.к. будет только 1 строка только с одним договором. правда в .
#31 by Mitriy
к
#32 by Vitello
Продолжаю тупить, уважаемые, помогите плз. Необходимо из РС выдернуть последюю (по периоду) запись, полностью см. выше. Написал такой вложенный запрос: ... ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ПЕРВЫЕ 1    ОформленныеБСО.Договор КАК Договор, ГДЕ ПО ДопсДСП.ИсходныйДоговор = ОформленныеБСО.Договор ... Выводит все равно нулл. Убираю ПЕРВЫЕ и Сортировку - берет все записи. Я безнадежен?
#33 by hhhh
про ПЕРВЫЕ почитай. Вроде должна возвратить одну единственную строчку на весь запрос.
#34 by Vitello
Так мне того и надо. Только мне не первую, а последнюю надо взять, какая попадется (исходя из условий ес-но).
#35 by Vitello
мдя...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С