Ноу Інти, лекція, система компонування даних

6.3. Програмне побудова звіту за допомогою СКД

Перш ніж приступити до програмного побудови звіту з використанням СКД, обговоримо основні етапи, які потрібно виконати для створення такого звіту.

  1. Створення та налагодження схеми компонування даних. На даному етапі ми будемо використовувати вже знайомий вам Конструктор схеми компонування даних. Тут ми поставимо набір джерел даних, набір полів, зробимо настройку складу і зовнішнього вигляду звіту.
  2. Отримання даних, необхідних для побудови звіту. Тут ми отримаємо необхідні дані і оформимо їх відповідним чином для подальшої побудови звіту.
  3. Підготовка до виконання схеми компонування даних. На цьому етапі ми будемо користуватися об'єктом типу КомпоновщікМакетаКомпоновкіДанних. Він, на основі налаштувань компонування даних і схеми компонування даних, готує схему до виконання, на виході даного етапу виходить макет компонування даних, готовий до заповнення даними.
  4. Виконання схеми компонування даних. Тут ми скористаємося об'єктом типу ПроцессорКомпоновкіДанних. Він оперує даними, необхідними для побудови звіту, і створеним раніше макетом компонування даних.
  5. Висновок результату компонування даних. На цьому етапі створюється табличний документ, який, після заповнення його даними, буде являти собою готовий звіт. Так само тут використовується об'єкт типу ПроцессорВиводаРезультатаКомпоновкіДаннихВТаблічнийДокумент. Він використовує дані процесора компонування даних для виведення їх в раніше створений табличний документ.
  6. Налаштування табличного документа. На даному етапі ми налаштовуємо параметри, характерні для табличного документа і показуємо його користувачеві.

Всі етапи програмної роботи зі схемою компонування даних допускають втручання розробника, що дозволяє будувати програмним способом звіти будь-якої складності.

Вирішимо наступне завдання. Побудуємо друковану форму документа НачісленіеЗарплати. яка буде містити такі реквізити документа:

Так само звіт буде містити табличну частину, дані якої потрібно взяти з табличній частині НачісленіяІУдержанія відкритого документа. А саме, це такі дані:

Всі ці дані присутні в документі.

Почнемо зі створення макета документа типу Схема компонування даних. Для цього викличемо контекстне меню елемента Макети. підлеглого документу НачісленіеЗарплати. у вікні Конструктор макета встановимо тип - Схема компонування даних. введемо ім'я макета - МакетСКД. Мал. 6.24.

Ноу Інти, лекція, система компонування даних


Мал. 6.24. Створення нового макету для розробки друкованої форми документа

У вже знайомому вам по попередньому прикладу вікна конструктора СКД додамо нове джерело даних - Об'єкт. При використанні джерел даних-об'єктів дані для побудови звіту можна отримувати дані з різних об'єктів, наприклад:

  • Результати запитів;
  • Табличні частини;
  • Таблиці значень;
  • Області осередків табличного документа;
  • Прикладні об'єкти;
  • Набори записів регістрів;

Ми, в нашому прикладі, поступимо таким чином. Дані для заповнення відомостей про документ (Номер. Дата. ПеріодРегістраціі) отримаємо за допомогою запиту, дані табличній частині документа використовуємо без попередньої підготовки.

Отже, після додавання нового джерела даних-об'єкта, перейменуємо його у НачісленіеЗарплати (це можна зробити, виконавши подвійне клацання по імені набору даних і ввівши нове ім'я замість підсвіченого стандартної назви), введемо в поле Ім'я об'єкта, що містить дані ім'я документа - Нарахування зарплати . Заповнимо склад полів - дамо їм імена, відповідні іменам реквізитів документа: Номер. Дата. ПеріодРегістраціі. Мал. 6.25.

Ноу Інти, лекція, система компонування даних


збільшити зображення
Мал. 6.25. Додавання набору даних для розміщення в звіті реквізитів документа

Таким же чином додамо набір даних-об'єкт НачісленіяІУдержарія. В поле Ім'я об'єкта. що містить дані, запишемо НачісленіяІУдержанія. створимо поля НомерСтрокі. Співробітник. ВідРасчета. Графік. Початкові дані. Дата початку. ДатаОкончанія (ці імена відповідають іменам полів табличній частині), рис. 6.26.

Ноу Інти, лекція, система компонування даних


збільшити зображення
Мал. 6.26. Додавання набору даних для розміщення в звіті табличній частині документа

Перейдемо на вкладку конструктора Налаштування. Додамо до структури звіту нову угруповання, перейдемо до її налаштування і додамо на вкладці Поля угруповання поля Номер. Дата і ПеріодРегістраціі. Перейдемо на вкладку Інші настройки. встановимо параметр Тип макета в значення Вертикально (для того, щоб ці дані були виведені у вигляді вертикального списку), рис. 6.27.

Ноу Інти, лекція, система компонування даних


збільшити зображення
Мал. 6.27. Налаштування структури звіту для розміщення реквізитів документа

Додамо нову угруповання, які не вказуючи группіровочних поле. перейдемо в режим її налаштування, відкриємо вкладку Вибрані поля. і виберемо інші поля звіту (НомерСтрокі. Співробітник. ВідРасчета. Графік. ІсходниеДанние. ДатаНачала. ДатаОкончанія), рис. 6.28.

Ноу Інти, лекція, система компонування даних


збільшити зображення
Мал. 6.28. Налаштування структури звіту для розміщення табличній частині

Тепер перейдемо до налаштувань звіту, виберемо вкладку Інші настройки і в параметрі Тема введемо текст "Вихідні дані по нарахуваннях".

Наш документ НачісленіеЗарплати не мав форми, тому створимо для нього форму документа (вкладка Форми вікна редагування властивостей об'єкта), додамо на командну панель форми кнопку Друк і поставимо обробник події натискання кнопки, рис. 6.29. Саме тут буде розташовуватися код формування друкованої форми на основі СКД.

Ноу Інти, лекція, система компонування даних


збільшити зображення
Мал. 6.29. Створення форми документа і кнопки для виклику коду, що створює друковану форму

Перед друком документ повинен бути записаний - так як ми отримуємо значення його реквізитів за допомогою запиту, якщо реквізити документа змінилися і натиснута кнопка Друк - ці зміни не позначаться на друкованій формі. У той же час, при зміні даних в табличній частині, ці зміни відразу ж відіб'ються в друкованій формі, так як дані беруться з табличній частині безпосередньо.

У цьому коді ми послідовно переходимо по етапах формування звіту за допомогою СКД, використовуючи її об'єкти. Вхідні дані містяться в структуру ВнешніеДанние. після чого задіюються механізми СКД.

6.4. висновки

У цій лекції ми розглянули два підходи до формування звітів з використанням системи компоновки даних. Перший підхід дозволяє конструювати звіт в візуальному режимі, і, що найголовніше, надає користувачеві можливість налаштування звіту під свої вимоги в режимі 1С: Підприємство. Другий підхід, поряд з етапом візуального конструювання в Конфігураторі. використовує програмне звернення до механізмів СКД для створення друкованої форми документа. Це дозволяє розробнику повністю контролювати етапи формування звіту, при необхідності вносячи корективи в цей процес. Наша наступна лекція буде присвячена побудові розподілених інформаційних систем.

Схожі статті