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

v7: Как получить последнее движение за период?

v7: Как получить последнее движение за период?
Я
   Провинциальный 1сник
 
06.07.20 - 16:34
В объекте БухгалтерскиеИтоги есть возможность выбрать периоды, в качестве периода может быть задана операция. Но порядок выборки периодов - с меньшего к большему. Можно ли как-то задать обратный порядок выборки периодов, чтобы получить последнее движение за период итогов, не выбирая все предыдущие? Или может кто подскажет какой-то другой красивый способ получить документ, сделавший последнее движение по счету и субконто?
   Ёпрст
 
1 - 06.07.20 - 16:37
ОбратныйПорядок(1)

или Упорядочить По в тексте запроса
или order by date desk
   Ёпрст
 
2 - 06.07.20 - 16:37
или сортировать, если в тз данные
   mikecool
 
3 - 06.07.20 - 16:40
(0) а нет ли там случаем еще одного параметра при выборке, отвечающего за сортировку?
   Ёпрст
 
4 - 06.07.20 - 16:41
и да.. в выборке запроса Группировка, второй параметр вроде
   trdm
 
5 - 06.07.20 - 16:59
на том и порешим... расходимся..
   Провинциальный 1сник
 
6 - 06.07.20 - 20:01
(1) ОбратныйПорядок() - такого метода в выборке из бухитогов нет.
(2) А предварительно от сотворения мира таблицу заполнять? Плохой вариант.
(4) Черный запрос не вариант
   Ёпрст
 
7 - 06.07.20 - 21:35
(6) ну тогда смотри табличку 1sentry, делов то
   Ёпрст
 
8 - 06.07.20 - 21:35
и примитивный запрос к ней
   Креатив
 
9 - 06.07.20 - 22:29
В ВыбратьСубконто() последний параметр обратныйпорядок
   Провинциальный 1сник
 
10 - 07.07.20 - 06:25
(9) Так мне не субконто надо выбирать, а периоды..
   Креатив
 
11 - 07.07.20 - 08:05
(10)Попробуй сначала выбрать период, а потом субконто в обратном порядке. И будет тебе последнее движение в периоде. Или ты хочешь от последнего месяца/периода плясать к первому?
   Провинциальный 1сник
 
12 - 07.07.20 - 11:22
(11) Мне не надо субконто в обратном порядке. Мне надо последнее движение по указанному счету с указанными отборами по субконто..
   victuan1
 
13 - 08.07.20 - 04:39
Я такую задачу решаю циклом, в котором запросами перебираю подперироды с конца до начала времен (или какой-то отправной точки).
Выбрал эмпирически оптимальный размер подериода (например, 3 месяца), чтобы скорость выборки на моих стат. данных была максимальна.
Из цикла по попериодам предусмотрен досрочный выход, как только необходимые данные найдены в очередном обрабатываемом подпериоде.
   Провинциальный 1сник
 
14 - 08.07.20 - 10:52
(13) Алгоритм поиска методом деления пополам? Это вариант. То есть, делим исходный период пополам, если во второй половине есть обороты - делим её и так далее, пока не наткнемся на один день, а внутри этого дня уже перебираем обороты по документам и находим последний. Возможно, что так будет быстрее, чем просто перебирать периоды от сотворения мира.. но это не точно.
   Ёпрст
 
15 - 08.07.20 - 10:54
(14) Прямым запросом к 1sentry с фильтром будет мгновенно
   Провинциальный 1сник
 
16 - 08.07.20 - 11:36
(15) Фильтр по набору субконто там заморочный получается, с кодами видов субконто..
   victuan1
 
17 - 14.07.20 - 05:08
(13) Нет, метод перебора подпериодов с конца. Метод дихотомии я использую для других задач - не для этой.

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