1С 8.3 Выбрать первые для СКД
Данные > Примеры кода 1С > 1С 8.3 Схема компоновки данных (СКД)
Перейти в раздел примеры кода 1С 8.3:
Пример №1: Установить количество получаемых записей набора данных в 1С 8.3:
Процедура УстановитьКоличПолучаемыхЗаписей(НаборДанныхСКД, КоличПолучаемыхЗаписей) Экспорт
// Процедура подставляет в последний пакет набора данных запроса конструкцию ВЫБРАТЬ ПЕРВЫЕ N
// НаборДанныхСКД - Набор данных запрос СКД
// КоличПолучаемыхЗаписей - "число" или "неопределено" (ограничение на количество выбираемых записей отсутствует)
СхемаЗапросаСКД = Новый СхемаЗапроса();
СхемаЗапросаСКД.РежимКомпоновкиДанных = Истина;
СхемаЗапросаСКД.УстановитьТекстЗапроса(НаборДанныхСКД.Запрос);
ПоследнийПакетНД = СхемаЗапросаСКД.ПакетЗапросов.Получить(СхемаЗапросаСКД.ПакетЗапросов.Количество()-1);
ПоследнийПакетНД.Операторы.Получить(0).КоличествоПолучаемыхЗаписей = КоличПолучаемыхЗаписей;
НаборДанныхСКД.Запрос = СхемаЗапросаСКД.ПолучитьТекстЗапроса();
КонецПроцедуры
// Процедура подставляет в последний пакет набора данных запроса конструкцию ВЫБРАТЬ ПЕРВЫЕ N
// НаборДанныхСКД - Набор данных запрос СКД
// КоличПолучаемыхЗаписей - "число" или "неопределено" (ограничение на количество выбираемых записей отсутствует)
СхемаЗапросаСКД = Новый СхемаЗапроса();
СхемаЗапросаСКД.РежимКомпоновкиДанных = Истина;
СхемаЗапросаСКД.УстановитьТекстЗапроса(НаборДанныхСКД.Запрос);
ПоследнийПакетНД = СхемаЗапросаСКД.ПакетЗапросов.Получить(СхемаЗапросаСКД.ПакетЗапросов.Количество()-1);
ПоследнийПакетНД.Операторы.Получить(0).КоличествоПолучаемыхЗаписей = КоличПолучаемыхЗаписей;
НаборДанныхСКД.Запрос = СхемаЗапросаСКД.ПолучитьТекстЗапроса();
КонецПроцедуры
Пример №2: ВЫБРАТЬ ПЕРВЫЕ для СКД в 1С 8.3:
// Подставляет в последний пакет набора данных запроса конструкцию ВЫБРАТЬ ПЕРВЫЕ N
// Источник: https://github.com/SeiOkami/CollectionMethodsOneS/issues/16
//
// Параметры:
// НаборДанных - НаборДанныхЗапросСхемыКомпоновкиДанных - Набор данных СКД
// КоличествоПолучаемыхЗаписей - Число, Неопределено - Количество получаемых записей.
// Соответствует ключевому слову ПЕРВЫЕ языка запросов.
// Если Неопределено, ограничение на количество выбираемых записей отсутствует.
//
// Пример:
// КоличествоЗаписей = НастройкиКомпоновки.ПараметрыДанных.НайтиЗначениеПараметра("ВыбратьПервые").Значение;
// УстановитьКоличествоПолучаемыхЗаписейНабораДанных(СхемаКомпоновкиДанных.НаборыДанных.Получить(0), КоличествоЗаписей);
//
Процедура УстановитьКоличествоПолучаемыхЗаписейНабораДанных(Знач НаборДанных, Знач КоличествоПолучаемыхЗаписей) Экспорт
СхемаЗапроса = Новый СхемаЗапроса();
СхемаЗапроса.РежимКомпоновкиДанных = Истина;
СхемаЗапроса.УстановитьТекстЗапроса(НаборДанных.Запрос);
ПоследнийПакет = СхемаЗапроса.ПакетЗапросов.Получить(СхемаЗапроса.ПакетЗапросов.Количество() - 1);
ПоследнийПакет.Операторы.Получить(0).КоличествоПолучаемыхЗаписей = КоличествоПолучаемыхЗаписей;
НаборДанных.Запрос = СхемаЗапроса.ПолучитьТекстЗапроса();
КонецПроцедуры
// MIT License
// Copyright (c) 2024 SeiOkami
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
// (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
// merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
// Источник: https://github.com/SeiOkami/CollectionMethodsOneS/issues/16
//
// Параметры:
// НаборДанных - НаборДанныхЗапросСхемыКомпоновкиДанных - Набор данных СКД
// КоличествоПолучаемыхЗаписей - Число, Неопределено - Количество получаемых записей.
// Соответствует ключевому слову ПЕРВЫЕ языка запросов.
// Если Неопределено, ограничение на количество выбираемых записей отсутствует.
//
// Пример:
// КоличествоЗаписей = НастройкиКомпоновки.ПараметрыДанных.НайтиЗначениеПараметра("ВыбратьПервые").Значение;
// УстановитьКоличествоПолучаемыхЗаписейНабораДанных(СхемаКомпоновкиДанных.НаборыДанных.Получить(0), КоличествоЗаписей);
//
Процедура УстановитьКоличествоПолучаемыхЗаписейНабораДанных(Знач НаборДанных, Знач КоличествоПолучаемыхЗаписей) Экспорт
СхемаЗапроса = Новый СхемаЗапроса();
СхемаЗапроса.РежимКомпоновкиДанных = Истина;
СхемаЗапроса.УстановитьТекстЗапроса(НаборДанных.Запрос);
ПоследнийПакет = СхемаЗапроса.ПакетЗапросов.Получить(СхемаЗапроса.ПакетЗапросов.Количество() - 1);
ПоследнийПакет.Операторы.Получить(0).КоличествоПолучаемыхЗаписей = КоличествоПолучаемыхЗаписей;
НаборДанных.Запрос = СхемаЗапроса.ПолучитьТекстЗапроса();
КонецПроцедуры
// MIT License
// Copyright (c) 2024 SeiOkami
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
// (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
// merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:
// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник