Содержание:
- Добавление поля в набор данных в системе учета 1С
- Добавление ресурса для подсчета суммы и добавление поля в зависимости от параметра
Добавление поля в набор данных в системе учета 1С
Пример: Добавление поля в набор данных
Предположим, что у нас есть отчет на базе регистра сведений, и нам нужно добавить поле “Контрагент” из справочника Контрагенты в схему компоновки данных.
Процедура ДобавитьПолеСКД(КомпоновщикНастроек)
// Получаем схему компоновки данных
СхемаКомпоновкиДанных = КомпоновщикНастроек.СхемаКомпоновкиДанных;
// Получаем набор данных
НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Элементы[0]; // первый набор данных
// Добавляем новое поле
НовоеПоле = НаборДанных.Поля.Добавить();
НовоеПоле.Имя = “Контрагент”;
НовоеПоле.Поле = “Справочник.Контрагенты.Ссылка”; // Имя поля в источнике данных
КонецПроцедуры
Добавление ресурса для подсчета суммы и добавление поля в зависимости от параметра
Ресурсы используются для вычисления значений, таких как суммы, максимальные или минимальные значения и другие агрегатные функции.
Пример: Добавление ресурса для подсчета суммы
Рассмотрим пример, где нужно добавить ресурс для вычисления суммы по колонке Количество из регистра накопления.
Процедура ДобавитьРесурсСКД(КомпоновщикНастроек)
// Получаем схему компоновки данных
СхемаКомпоновкиДанных = КомпоновщикНастроек.СхемаКомпоновкиДанных;
// Получаем набор данных
НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Элементы[0]; // первый набор данных
// Добавляем новый ресурс
НовыйРесурс = НаборДанных.Ресурсы.Добавить();
НовыйРесурс.Имя = “СуммаКоличество”;
НовыйРесурс.Поле = “Количество”;
НовыйРесурс.Использование = Истина; // Включаем использование ресурса в отчете
НовыйРесурс.Агрегация = Перечисления.ВидыАгрегации.Сумма; // Агрегатная функция — сумма
КонецПроцедуры
Часто возникает необходимость добавлять поля или ресурсы динамически, в зависимости от условий, например, если выбран определенный параметр отчета или фильтр.
Пример: Добавление поля в зависимости от параметра
Процедура ДобавитьПолеЕслиПараметр(КомпоновщикНастроек, ЗначениеПараметра)
Если ЗначениеПараметра = Истина Тогда
// Добавляем поле только если значение параметра истинно
ДобавитьПолеСКД(КомпоновщикНастроек);
КонецЕсли;
КонецПроцедуры
Специалист компании ООО “Кодерлайн”,
Дубровина Елена
Добавить комментарий