Створення звіту в СКД з використанням даних з таблиці значень
Часом трапляється, що дані в звіті не можна отримати за допомогою запиту або комбінації запитів. Доводиться користуватися якимись процедурами для збору даних, а дані містяться в таблицю значень. Виникає питання - чи можна ці дані використовувати в схемі компоновки даних? Адже СКД інструмент потужний і зручний. Виявляється, що використовувати дані з таблиці значень в якості джерела даних для звіту в СКД можна і зробити це зовсім не складно. У цій статті буде показано створення такого звіту для звичайних форм.
Отже, як створити звіт СКД з використанням даних з таблиці значень? Про все по порядку.
Насамперед відкриваємо конфигуратор і створюємо новий зовнішній звіт.
Відкриваємо модуль об'єкта і створюємо зумовлену процедуру ПріКомпоновкеРезультата (ДокументРезультат, ДанниеРасшіфровкі, СтандартнаяОбработка)
Всередині цієї процедури будемо збирати дані і формувати звіт.
У процедурі ПріКомпоновкеРезультата відключаємо стандартну обробку. СтандартнаяОбработка = Брехня;
Потім формуємо таблицю значень довільним чином. Імена колонок таблиці значень повинні збігатися з майбутніми полями набору даних в СКД .:
Для прикладу додамо три рядки даних. Далі по кроках створюємо висновок звіту.
- Зі схеми отримуємо налаштування за замовчуванням.
- У відповідну змінну відправляємо дані про розшифровку.
- Формуємо макет за допомогою компоновщика макета.
- Передаємо в макет компонування схему, настройки і дані розшифровки.
- Виконуємо компонування за допомогою процесора компонування. Для цього виконуємо метод процесора компонування даних Ініціалізувати (). Як параметри передаємо макет компонування даних, зовнішні набори даних (тип: Структура, ключ структури повинен збігатися з ім'ям об'єкта в схемі компоновки даних. Значення - сформована таблиця значень), дані розшифровки.
- Очищаємо поле табличного документа.
- Виводимо результат в табличний документ.
У підсумку виходить наступний код:
Додаємо макет схеми компонування. Назва можемо залишити за замовчуванням.
Створюємо набір даних. Для цього додаємо новий набір даних типу Об'єкт. В поле Ім'я об'єкта, що містить даних поміщаємо то назва, яке ми вказали в якості ключа при створенні структури ВнешійНаборДанних. Потім додаємо поля. Імена повинні точно збігатися з іменами колонок в таблиці значень. Далі можемо вказати допустимі значення, формати і т.д.
Додаємо ресурси, якщо це необхідно. За ним будуть вважатися підсумки. У нашому випадку це поля Кількість і Сума.
У закладці Налаштування за допомогою конструктора налаштувань формуємо варіант звіту за замовчуванням
Зберігаємо наш звіт. Запускаємо його в клієнті і формуємо. Приклад виконання звіту СКД з використанням даних з таблиці значень наведено на зображенні.
От і все. Досить просто, чи не так?
Одержаний звіт для прикладу можна скачати тут