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