Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Запросом получить предпоследний документ

Запросом получить предпоследний документ
Я
   bfss-732
 
07.06.21 - 13:48
Привет!
Как запросом получить предпоследний документ?
   youalex
 
1 - 07.06.21 - 13:55
Выбрать top 1 из top 2 (Как вариант)
   bfss-732
 
2 - 07.06.21 - 14:14
(1) есть пример?
   fisher
 
3 - 07.06.21 - 14:23
Есть вот такой элегантный рецепт отбора произвольного количества последних. Вроде рабочий должен быть. Дальше сверху или так же или классической эмуляцией среза последних/первых.
ВЫБРАТЬ
ИЗ
   Документ КАК Д1
   ГДЕ Д1.Ссылка В (ВЫБРАТЬ ПЕРВЫЕ 2 ИЗ Документ КАК Д2 ГДЕ Д1.Контрагент = Д2.Контрагент УПОРЯДОЧИТЬ ПО Д2.Дата УБЫВ)
   Garykom
 
4 - 07.06.21 - 14:31
(0) что значит предпоследний?
   Serg_1960
 
5 - 07.06.21 - 14:31
Вложенным запросом выбрать ПЕРВЫЕ 2 по убыванию и из них выбрать ПЕРВЫЕ 1 по возрастанию. Если в запросе всего один документ - то он же первый и он же последний.
   youalex
 
6 - 07.06.21 - 14:34
(2) ВЫБРАТЬ ПЕРВЫЕ 1 Ссылка 
ИЗ (
    ВЫБРАТЬ  ПЕРВЫЕ 2 Ссылка, МоментВремени ИЗ Документ.Встреча  УПОРЯДОЧИТЬ ПО МоментВремени УБЫВ) Влож
УПОРЯДОЧИТЬ ПО МоментВремени
   fisher
 
7 - 07.06.21 - 14:35
(5) Толковое замечание. Действительно, если документ только один, то предпоследний в идеале должен быть пустым. Это усложнит запрос.
   Serg_1960
 
8 - 07.06.21 - 14:36
(4) "А вот это, детектив, правильный вопрос"(х/ф "Я - робот")
   Garykom
 
9 - 07.06.21 - 14:42
Имхо я возьму запросом два "последних", выгружу в ТЗ и возьму [0]
   Kassern
 
10 - 07.06.21 - 14:42
(9) а если документ всего 1, тогда что?)
   Garykom
 
11 - 07.06.21 - 14:43
(10) даже ничего менять не надо
   Garykom
 
12 - 07.06.21 - 14:44
(11) в смысле один фиг будет условие на количество ибо запрос может ничего не вернуть
   bfss-732
 
13 - 07.06.21 - 14:47
(4) Есть список документов введенных за определенный период... 1,2,3,4
Вот мне нужно вытащить ТОЛЬКО 3-й, чтоб реквизит сумма с 4-го минус реквизит сумма 3-го.
   Serg_1960
 
14 - 07.06.21 - 14:53
(13) Вам тонко намекают, что Вы забыли уточнить критерий очередности. По номеру, по дате, по моменту времени или иное...
   fisher
 
15 - 07.06.21 - 14:55
(14) И что, упоминание критерия очередности как-то радикально повлияет на алгоритм?
   Serg_1960
 
16 - 07.06.21 - 15:02
(15) Нет, радикально не повлияет. Но как сказал один классик - "давайте спорить о вкусе устриц с теми, кто их ел"(с) - автор в (2) попросил пример -вот с этим проблема.
   fisher
 
17 - 07.06.21 - 15:04
(13) Выбери список последних. А потом еще раз выбери список последних за исключением первого списка.
   Serg_1960
 
18 - 07.06.21 - 15:05
+(16) Например, если учитывать уточнее в (13) - то запрос можно построить по регистру движения.
   Garykom
 
19 - 07.06.21 - 15:05
(17) ему просто надо исключить текущий документ и взять последний и все
   Serg_1960
 
20 - 07.06.21 - 15:06
*(18) "уточнее" --> "уточнение"
   fisher
 
21 - 07.06.21 - 15:07
(19) Как оказалось, ему нужны и последние и предпоследние. И потом он как-то собирается скрещивать этих ужа и ежа. Если это реальная задача, то явно следствие архитектурной ошибки.
   fisher
 
22 - 07.06.21 - 15:09
(19) Сабжевая задача обычно никогда не требуется в чистом виде (один документ). Обычно всегда в разрезе измерений.
   fisher
 
23 - 07.06.21 - 15:09
"Обычно никогда" - это я сказанул, конечно
   bfss-732
 
24 - 07.06.21 - 15:52
по дате
   bfss-732
 
25 - 07.06.21 - 15:52
(14) по дате
   bfss-732
 
26 - 07.06.21 - 15:53
(21) это отчет, где нужна разница сумм в документах
   DJ Anthon
 
27 - 08.06.21 - 04:36
(24) если будет одинаковая дата и время?


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.