Тип: ТребуемаяАктуальностьДанных. Актуальность данных, которые необходимо получить. Если свойство ИспользованиеКопийБазыДанных имеет значение ИспользоватьТолькоКопии, то свойство может влиять только на то, какая именно копия будет выбрана.
Полное описание, параметры и ограничения
МакетКомпоновкиДанных.ТребуемаяАктуальностьДанных (DataCompositionTemplate.RequiredDataRelevance)
МакетКомпоновкиДанных (DataCompositionTemplate)
ТребуемаяАктуальностьДанных (RequiredDataRelevance)
Доступен, начиная с версии 8.3.14.
Использование:
Чтение и запись.
Описание:
Тип: ТребуемаяАктуальностьДанных.
Актуальность данных, которые необходимо получить.
Если свойство ИспользованиеКопийБазыДанных имеет значение ИспользоватьТолькоКопии, то свойство может влиять только на то, какая именно копия будет выбрана.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.3.14.
Методическая информация
Практические примеры
Исследовать настоящий скомпилированный макет и вывести две строки
Схема построена самим уроком, запрос выбирает две константные строки; макет получаем компоновщиком, а не притворяемся, что пустой макет уже готов.
Где и как запускать
Полный серверный общий модуль собственной учебной базы; не клиентский модуль формы.
Подготовка
Собственная учебная база 8.5.1.1343. Создайте общий модуль УчебныеКоллекцииСКД с флагом Сервер. Вставьте полный текст одного урока с процедурой ВыполнитьПример() Экспорт.
Из серверной команды своей обработки вызовите УчебныеКоллекцииСКД.ВыполнитьПример(). Таблицы значений и служебные объекты макета остаются на сервере.
Книга / 3 / 750 и Ручка / 1 / 50 — вымышленные собственные данные. Ни справочники, ни документы, ни регистры базы, ни внешние сервисы не читаются.
Различайте схему, настройки, скомпилированный макет и результат. Урок составления отдельной коллекции не называется готовым рабочим отчётом.
В уроке описания расшифровки временное хранилище заполняется только новым собственным объектом, в одном вызове. В конце удаляется ровно этот созданный адрес, включая обработку ошибки.
Не заменяйте собственный новый макет текущим рабочим отчётом: Очистить, Удалить и Сдвинуть в этих уроках относятся к собственной памяти.
Процедура ВыполнитьПример() Экспорт
Схема = Новый СхемаКомпоновкиДанных;
Источник = Схема.ИсточникиДанных.Добавить();
Источник.Имя = "УчебныйИсточник";
Источник.ТипИсточникаДанных = "Local";
Набор = Схема.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
Набор.Имя = "УчебныеТовары";
Набор.ИсточникДанных = Источник.Имя;
Набор.АвтоЗаполнениеДоступныхПолей = Истина;
Набор.Запрос = "ВЫБРАТЬ
| ""Книга"" КАК Наименование,
| 3 КАК Количество,
| 250 КАК Цена,
| 750 КАК Сумма
|ОБЪЕДИНИТЬ ВСЕ
|ВЫБРАТЬ ""Ручка"", 1, 50, 50";
Настройки = Схема.НастройкиПоУмолчанию;
Для Каждого ИмяПоля Из СтрРазделить("Наименование,Количество,Цена,Сумма", ",") Цикл
Выбранное = Настройки.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
Выбранное.Поле = Новый ПолеКомпоновкиДанных(ИмяПоля);
Выбранное.Использование = Истина;
КонецЦикла;
Детали = Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
Детали.Использование = Истина;
АвтоВыбор = Детали.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
АвтоВыбор.Использование = Истина;
РабочиеНастройки = Настройки;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакета.Выполнить(Схема, РабочиеНастройки, , ,
Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
Процессор = Новый ПроцессорКомпоновкиДанных;
Процессор.Инициализировать(Макет);
Сообщить(ТипЗнч(Макет) = Тип("МакетКомпоновкиДанных"));
Сообщить(ТипЗнч(Макет.ЗначенияПараметров) = Тип("ЗначенияПараметровМакетаКомпоновкиДанных"));
Сообщить(ТипЗнч(Макет.ИсточникиДанных) = Тип("ИсточникиДанныхМакетаКомпоновкиДанных"));
Сообщить(ТипЗнч(Макет.Макеты) = Тип("ОписанияМакетовОбластейМакетаКомпоновкиДанных"));
Сообщить(ТипЗнч(Макет.НаборыДанных) = Тип("НаборыДанныхМакетаКомпоновкиДанных"));
Сообщить(ТипЗнч(Макет.СвязиНаборовДанных) = Тип("СвязиНаборовДанныхМакетаКомпоновкиДанных"));
Сообщить(ТипЗнч(Макет.Тело) = Тип("ТелоМакетаКомпоновкиДанных"));
Сообщить(СтрШаблон("Актуальность макета: %1", Макет.ТребуемаяАктуальностьДанных));
Сообщить(СтрШаблон("Время актуальности, тип: %1", ТипЗнч(Макет.ТребуемоеВремяАктуальностиДанных)));
Сообщить(СтрШаблон("Источников: %1; наборов: %2; макетов областей: %3; частей тела: %4",
Макет.ИсточникиДанных.Количество(), Макет.НаборыДанных.Количество(), Макет.Макеты.Количество(), Макет.Тело.Количество()));
Приемник = Новый ТаблицаЗначений;
Вывод = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
Вывод.ОтображатьПроцентВывода = Ложь;
Вывод.УстановитьОбъект(Приемник);
Результат = Вывод.Вывести(Процессор, Ложь);
Сообщить(Результат.Количество() = 2);
Сообщить(Результат.Итог("Сумма") = 800);
КонецПроцедурыРазбор по шагам
Создаём источник Local и запрос Книга/750 + Ручка/50 без обращения к конфигурационным таблицам.
Задаём выбранные поля и детальную группировку, затем компонуем макет для коллекции значений.
Шесть служебных свойств макета читаем как реальные коллекции/тело, а не присваиваем им новые объекты.
Актуальность и её время выводятся диагностически: для собственных констант это не проверка свежести данных рабочего сервера.
Инициализируем процессор этим макетом и выводим результат в собственную ТаблицаЗначений.
Как проверить результат
Девять булевых проверок Истина: тип макета, шесть типов его частей, две строки и итог 800.
Число сгенерированных областей и частей тела диагностическое; внутреннюю схему генератора не фиксируем выдуманными числами.
Результат содержит собственные Книга 750 и Ручка 50, без файлового сохранения.
Ожидаемый результат
Получен и исследован настоящий макет с выполненным собственным результатом.
На что обратить внимание
Новый МакетКомпоновкиДанных без настройки не заменяет скомпилированный макет.
Макет.ЗначенияПараметров не является структурой параметров объекта Запрос.
Диагностика ТребуемаяАктуальностьДанных не доказывает работу копий базы или актуальность реальных остатков.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.