Срез последних N записей, пример на СКД

Публикация № 1618038 09.03.22

Разработка - Запросы

скд срез последних 3 5 несколько записей СрезПоследних две три пять отобрать получить N группы сразу по всем таблица значений

Пример получения в СКД последних N записей, т.е. например, получить последние 3 записи по каждой категории.

Описание работы 

Пример получения в СКД последних N записей,

т.е. например, получить последние 3 записи по каждой категории (наименованию, группе).

В примере не используются: временные таблицы (см. уточнение ниже), нумерация строк запроса и какие-то особые возможности СКД. Поэтому работает быстро.

Пример будет работать и без СКД, например, в коде 1С в запросе.

Если вам нужно в запросе не три записи по каждой категории, а, например, пять,  поправьте в запросе строку:

ВЫБРАТЬ ПЕРВЫЕ 3
 
 (развернуть) уточнение по временным таблицам

Описание настроек

Запустить Предприятие 1С. И далее, Файл - Открыть - ... отчет

Тестировал на платформе 1С:Предприятие 8.3 (8.3.12.1685, 8.3.20.1674).

Будет работать в любых конфигурациях на управляемых формах.

Отчет не зависит от объектов конфигурации, таблица с данными создается в отчете.

Скачать файлы

Наименование Файл Версия Размер
СрезПоследних_N_записей

.erf 6,57Kb
4
.erf 1.0.0.1 6,57Kb 4 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. user1146461 09.03.22 12:57 Сейчас в теме
если кто-то вдруг потратит на это стармани, то поведайте пожалуйста, что здесь такого неординарного, что за это деньги просят?
2. ardn 543 09.03.22 14:49 Сейчас в теме
(1)
потратит на это стармани, то поведайте пожалуйста, что здесь такого

Правда хитрость с запросом, не уверен, что это документированное поведение
5. user-z99999 63 09.03.22 16:06 Сейчас в теме
(2)
Правда хитрость с запросом, не уверен, что это документированное поведение

1С транслирует запросы на языке 1С в запросы на языке SQL.

У меня в примере, используются возможности языка SQL, документированные, которые поддерживаются 1С.

Поэтому я написал код на языке 1С, которые выполнятеся без проблем.
6. ardn 543 09.03.22 16:15 Сейчас в теме
(5)
Прошу разрешения опубликовать ваш ход с соединением таблицы в условии, может быть гуру этого сайта подскажут, насколько уместно использование такого запроса. Подозреваю, при трансляции его в SQL получится не оптимальная конструкция.
8. user-z99999 63 09.03.22 16:25 Сейчас в теме
(6)
Чтобы рассуждать о не оптимальности, нужно изучить альтернативные варианты решения этой задачи.
У меня таблица соединяется сама с собой и получается результат.

В решениях с нумерацией строк таблицы, исходная таблица используется большее количество раз,
чем у меня, что не оптимально.


Просьба не публивать моё решение.
Для гуру - можно прочитать в интернете: Коррелированные Подзапросы Sql.
3. ardn 543 09.03.22 14:51 Сейчас в теме
(0)
Все-таки это нечестные последние N записей.
Добавил в ваш пример 4 одинаковых даты по одной из валют, в результате вывелось 4 строчки со срезом "последних"
4. user-z99999 63 09.03.22 16:02 Сейчас в теме
(3)
Т.е. вы решили добавить строки:
06.04.2024  "JPY", 255	
06.04.2024  "JPY", 256	
06.04.2024  "JPY", 257	
06.04.2024  "JPY", 258	

И ждете адекватного ответа от запроса?

Запрос - это не документ, поэтому в нём нет МоментаВремени(). Выборка происходит по Датам.
И запросу не известно, какая запись у вас первая, а какая последняя т.к. это запрос!

Если вам действительно нужно в течении дня отслеживать записи, тогда нужно:
вместо
ВЫБРАТЬ ДАТАВРЕМЯ(2024, 1, 1) КАК Период

использовать Дату с точностью до секуды
ВЫБРАТЬ ДАТАВРЕМЯ(2024, 1, 1,0,0,1) КАК Период

Первоначально предполагалось, что в примере РегистрСведений_КурсыВалют
у него периодичность в типовых конфигурациях в пределах Дня.

Выше показал пример, что делать, если у вас в течении дня много записей (использовать Дату с точностью до секуды).
7. ardn 543 09.03.22 16:25 Сейчас в теме
(4)
Совершенно верно - я добавил такие строки и жду, что мне вернутся N последних записей. Получаю не N, непорядок.
Я понимаю, почему так получается, я все-таки посмотрел запрос.
Просто в тексте вы противопоставляете свой способ использованию нумерации строк запроса, это не совсем правильно - ваш способ не даст такого же результата, как там.
9. user-z99999 63 09.03.22 16:44 Сейчас в теме
(7)
Какую запись я должен показать, если их четыре? Любую?
06.04.2024  "JPY", 255    
06.04.2024  "JPY", 256    
06.04.2024  "JPY", 257    
06.04.2024  "JPY", 258    

И я уже объяснил, что у Регистра Свеедний бывает периодичность. Т.е. с периодическим регистром сведений - работает верно.
Т.е. можно взять моё решение и использовать для периодического Регистра Сведений.

А если вы что-то хотие сделать с записями, у которых Период и Валюта одинаковые,
их предварительно можно сгруппировать, и взять Значение показателя Max или Min.
А дальше, как у меня написано.
Но такое решение будет трудно читаться, если очень очень нужно, тогда можно сделать защиту от повторов.

Самое оптимальное - группировать и убирать "дубли" (если у вас они есть) уже результата т.к. там очень мало записей.
Оставьте свое сообщение

См. также

Все консоли запросов для 1С

Запросы Бесплатно (free)

Список всех популярных обработок.

17.03.2023    11314    kuzyara    66    

114

Практическая шпаргалка по новым возможностям языка запросов 1С

Механизмы платформы 1С Запросы Платформа 1С v8.3 Запросы Конфигурации 1cv8 Бесплатно (free)

В предлагаемой статье решил привести примеры применения новых возможностей языка запросов 1С, начиная с версии платформы 8.3.20.

21.11.2022    16428    quazare    34    

113

Новые возможности языка запросов в платформе 8.3.20

Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

С платформы 8.3.20 анонсировали ряд изменений в языке запросов, с которыми интересно было повозиться на практике, что и было проделано. Результатом этих изысканий решил поделиться с вами.

27.09.2022    10721    zeltyr    17    

75

Ускорим проведение в 1С:Управление холдингом

HighLoad оптимизация Запросы Платформа 1С v8.3 1С:Управление холдингом Бесплатно (free)

В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится.

10.08.2022    5344    sapervodichka    64    

74

Хитрости СКД. Часть 3

СКД Универсальные функции Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Столкнулся с тем, что мне приходится писать гору отчетов. Во многих приходится использовать повторяющиеся приемы. Решил написать шпаргалку, которая, надеюсь пригодится не только мне. В этой статье: Объединение ячеек в отчете только на определенном уровне иерархии, Постобработка итогов в табличном документе, Скрытие колонок в зависимости от количества месяцев в периоде.

28.05.2022    6676    milkers    11    

87

Экспертный кейс. Расследование фатального замедления времени расчета себестоимости в 1С:ERP 2

HighLoad оптимизация Механизмы типовых конфигураций Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

При выполнении нагрузочного тестирования информационной системы на базе 1С:ERP для одного из клиентов с целью оценки возможности миграции системы на PostgreSQL и Astra Linux мы столкнулись с неприемлемым увеличением времени выполнения расчета себестоимости. Строго говоря, сценарий тестирования закрытия месяца не был выполнен вообще – он не укладывался в таймаут выполнения теста, 24 часа. По прошествии 18 часов всё ещё шло выполнение операции «Распределение затрат и расчет себестоимости». Более 16 часов выполнялся подэтап “Расчет партий и себестоимости. Этап. Расчет себестоимости: РассчитатьСтоимость”. Всё это время выполнялся запрос, который в текущей инфраструктуре клиента (СУБД MS SQL Server) выполняется чуть более 3 минут на аналогичных данных.

25.03.2022    5905    it-expertise    92    

68

Шаблон отчета на СКД (обычные формы)

СКД Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Абонемент ($m)

Улучшенный шаблон отчёта СКД, реализованный на обычных формах. Лаконичный и функциональный, весь необходимый минимум для управления отчётом вынесен на форму отчёта, что избавляет рядовых пользователей от необходимости лезть внутрь настроек отчёта. Форма сделана гибкой и позволяет легко себя адаптировать под Ваши потребности. Ряд элементов формы сделан сворачиваемыми и растягиваемыми.

2 стартмани

14.02.2022    6714    20    Eugen-S    4    

9

Отладка СКД

СКД Система компоновки данных Бесплатно (free)

На митапе «Практика применения СКД» выступил ведущий разработчик 1С аутсорсинговой компании Programming Store Павел Шемякин. Павел рассказал, как бороться с нежелательной «оптимизацией» запроса СКД, какие инструменты для отладки СКД можно использовать – в чем их отличия и преимущества, и показал, как работать с консолью компоновки данных – на какие элементы структуры XML-файла макета СКД обращать внимание при поиске причин неправильной работы отчета.

08.02.2022    10620    ProgrammingStore    5    

85

Конвертер для преобразования текстов запросов и планов SQL в представления языка 1С

Инструментарий разработчика Запросы Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Преобразует текст запроса на языке SQL или план запроса, подставляя представления метаданных конфигурации для удобства последующего анализа.

2 стартмани

07.02.2022    10550    127    ivanov660    7    

89

Программная работа и компоненты СКД

СКД Система компоновки данных Бесплатно (free)

На митапе «Практика применения СКД» выступил архитектор Digital Business Петр Базелюк. Он рассказал о том, как работать с СКД программно, и как, используя общедоступную библиотеку FoxyLink, создать свой процессор вывода результата СКД напрямую в формат JSON или в CSV.

04.02.2022    4560    pbazeliuk    4    

69

Реализация отборов на форме с помощью СКД

СКД Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

В статье описана практическая методика использования системы компоновки данных (СКД) для реализации отборов на любых формах конфигурации.

28.12.2021    14570    quazare    6    

131

Кейсы решения задач на СКД

СКД Платформа 1С v8.3 Система компоновки данных Бесплатно (free)

Разработчик 1С в компании Neti Александр Крынецкий выступил на Infostart Meetup, посвященном практике работы с СКД. Александр поделился с коллегами кейсами по решению сложных задач при работе с СКД.

08.11.2021    6176    echo77    7    

99

Готовые механизмы 1С: ЗУП, представления

Механизмы типовых конфигураций Запросы Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Бесплатно (free)

Здесь будет храниться архив запросов, которые могут помочь разработчику правильно строить отчеты и получать данные в 1С: ЗУП. Статью буду периодически дополнять.

03.11.2021    7807    Margo462    19    

92

Грабли на СКД

СКД Платформа 1С v8.3 Система компоновки данных Россия Бесплатно (free)

Наиболее частые проблемы, с которыми сталкиваются программисты 1С при разработке отчетов на СКД.

02.11.2021    15199    echo77    17    

136

СКД: 5 советов, как сделать лучше

СКД Платформа 1С v8.3 Система компоновки данных 8.3.14 Бесплатно (free)

Несколько примеров решения задач с использованием разных подходов

27.10.2021    12562    Neti    19    

192

Программное открытие отчета СКД с параметрами и отбором

СКД Платформа 1С v8.3 Управляемые формы Система компоновки данных Бесплатно (free)

Периодически возникает задача открытия формы отчёта СКД уже со сформированным отчётом, с определёнными параметрами и отборами. В данной публикации рассматриваются способы сделать это как в обычном приложении, так и в управляемом.

07.08.2021    29230    Eugen-S    35    

103

Формирование отчета СКД с расшифровкой из обработки

СКД Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Формирование отчета СКД из обработки немного отличается от формирования из отчета.

27.04.2021    6837    John_d    14    

74

Полезные примеры СКД, ч.2

СКД Платформа 1С v8.3 Система компоновки данных Бесплатно (free)

Еще несколько примеров решения задач в СКД.

06.04.2021    18271    Neti    9    

215

Полезные примеры СКД, ч.1

СКД Система компоновки данных Бесплатно (free)

Подборка видео по решению различных задач в отчетах на СКД.

30.03.2021    23043    Neti    21    

364

Последний раз про срез последних (на каждую дату в запросе)

Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

Срез последних на каждую дату в запросе. Известные факты о задаче: часто встречается на испытаниях соискателей на работу программистом 1с, постоянно провоцирует споры об оптимальном решении. В данном тексте приводятся замеры производительности различных вариантов решения задачи.

15.02.2021    37265    randomus    47    

155

Аналог PIVOT в запросе 1С (как выполнить транспонирование таблицы в запросе 1С)

Запросы Платформа 1С v8.3 Бесплатно (free)

В статье показывается простой метод реализации аналога оператора PIVOT в запросе 1С без использования соединений.

12.12.2020    9019    Eugen-S    25    

71

Итоги по объединенной совокупности группировок в запросе

Запросы Платформа 1С v8.3 Бесплатно (free)

Способ формирования итогов в запросе по совокупности группировок, объединенных в единый набор, при помощи функции АВТОНОМЕРЗАПИСИ.

18.11.2020    12590    antonivan    21    

100

Программная корректировка при выводе отчета СКД

СКД Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Абонемент ($m)

Большинство отчетов на СКД, требующих программной корректировки, реализуются с помощью программной настройки СКД или обработки табличного документа уже после вывода отчета. Но во многих случаях более оптимально будет выполнять программную корректировку в процессе вывода отчета. Для этого существуют программные объекты, о которых я расскажу в данной статье.

1 стартмани

08.10.2020    25404    dabu-dabu    18    

238

Отладчик запроса 1С 8.3 (управляемые формы)

Инструментарий разработчика Запросы Платформа 1С v8.3 Управляемые формы Запросы Конфигурации 1cv8 Абонемент ($m)

По просьбам некоторых своих коллег и пользователей Инфостарта, выкладываю первую версию обработки "Отладчик запросов by Акулов А.С.", переделанной под управляемые формы. Реализованы почти все возможности из отладчика запросов, которые присутствовали в версии под обычные формы, а также добавлено немного нового.

1 стартмани

28.09.2020    19575    177    DrAku1a    31    

113

Проводим по БУ "на лету"

Инструментарий разработчика Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Бухгалтерский учет Налоговый учет Бесплатно (free)

В базе ERP и КА есть форма тестировщика, которая автоматически получает из конфигурации полные тексты запросов формирования бухгалтерских проводок выбранного документа, даёт возможность модифицировать запрос и сразу проверить результат.

01.05.2020    9610    sapervodichka    1    

94

СКД. Использование Менеджера временных таблиц в системе компоновки

СКД Платформа 1С v8.3 Запросы Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

С выпуском платформы 8.3.17 фирма 1С анонсировала возможность передачи в механизм системы компоновки данных менеджера временных таблиц. Платформа вышла из беты, самое время разобраться с новым механизмом, тем более в комментариях я встретил непонимание принципов работы этого нововведения. Постараюсь кратко.

29.04.2020    20108    ixijixi    50    

112

Ограничения полей, или как обмануть СКД?

СКД Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Каждое из ограничений полей можно обойти. Рассмотрим варианты обхода и способы обезопасить свой отчет.

15.04.2020    28944    SeiOkami    43    

125

Запросы 1С СКД. Возможности и ограничения

СКД Запросы Система компоновки данных Россия Бесплатно (free)

В этом цикле статей мы рассмотрим особенности работы системы компоновки данных с запросами в 1С.

10.04.2020    18041    ProgrammingStore    14    

85

Нечёткий поиск "ПОДОБНО". Нюансы

Запросы Платформа 1С v8.3 Бесплатно (free)

Заметки о "ПОДОБНО" в языке запросов

23.02.2020    63987    Yashazz    34    

121

Программная работа с настройками СКД

СКД Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

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

27.01.2020    110689    ids79    31    

437

[СКД] Программное создание схемы компоновки данных

СКД Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

Сделаем отчет на СКД полностью программно, без использования макета "схема компоновки данных".

15.01.2020    64967    John_d    28    

613

Оптимизатор запроса. Часть первая

Запросы Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Работа оптимизатора запроса является ключевой для обработки данных. Знание того, как оптимизатор выстраивает свою стратегию, отлично помогает при построении запросов.

23.12.2019    14168    darkdan77    21    

91

Как передать IP адрес, который вызвал HTTP запрос в 1C (для веб-сервера Apache)

Запросы Платформа 1С v8.3 Бесплатно (free)

Столкнулся с задачей получения IP адреса, который вызывает http сервис 1С. Итак, решение:

22.11.2019    17502    Sibars    20    

161

СКД. Лайфхак №2. Собираем отчет еще удобнее

СКД Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

В этой публикации я хочу вам описать еще один интересный и относительно новый подход к одному из довольно тривиальных методов работы с СКД для построения отчетов.

20.11.2019    13399    aximo    22    

117

Некоторые редко используемые возможности СКД

СКД Платформа 1С v8.3 Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

В статье перечислены некоторые возможности СКД, которые позволят расширить круг решаемых при помощи этого механизма задач. Здесь показано, как использовать папки полей, и предложена альтернатива некоторым функциям языка выражений СКД.

11.11.2019    18226    kser87    40    

101

Лайфхак работы с СКД. Собираем отчет.

СКД Система компоновки данных Конфигурации 1cv8 Бесплатно (free)

В этой статье я опишу небольшой "лайфхак" по сборке отчетов в СКД. Думаю, этот подход будет интересен тем, кто хочет быстро оформить отчет.

25.10.2019    37554    aximo    38    

137