Для чего используется конструктор скд

Обновлено: 05.05.2024

Эта статья позволит сократить трудозатраты программиста, который планирует (а может быть, вынужден) вести разработку СКД одновременно для управляемых и обычных форм или выполняет переход на управляемые формы. Также, предложенный конструктор СКД позволяет работать с таблицей и деревом значений в режиме тонкого клиента без дополнительных трудозатрат. И в дополнение к заявленному, конструктор СКД может работать с внешними базами, также без дополнительных трудозатрат. И сверх того, в Конструктор включён сервис чтения файлов *.xls.

Небольшое вступление.

Очень не хочется тратить своё драгоценное время программиста на написание программного кода!

Эта разработка помогает применять Систему Компоновки Данных (СКД), без хлопот, для работы с таблицей и деревом значений, даже в режиме тонкого клиента. А также читать внешние базы методом СКД.

Возможно, возникает вопрос, а зачем использовать СКД для работы с деревом значений?

Некоторые ответы следуют.

  1. Желательно использовать наглядность СКД, например, для обработки проведения.
  2. Существенно сокращаются трудозатраты на исправление кривых баз данных.
  3. Легко получить отчет методами не доступными в СКД.
  4. В режиме запуска «ТонкийКлиент» «ДеревоЗначений» не выводится на экран. Что делать!?
  1. Можно разработать удобный пользователю инструмент или отчет на СКД, даже если техническое задание дурацкое.

С такой же вероятностью, возникает другой вопрос, а причём здесь тонкий клиент?

  1. Запуск типовых конфигураций по умолчанию выполняется в тонком клиенте.
  2. Тонкий клиент необходим для работы с Интернетом.
  3. Тонкий клиент требует меньше аппаратных ресурсов.

Немного поговорим.

Программист, поработавший на управляемых формах, не хочет возвращаться к обычному приложению. Это желание объективно и не требует обсуждения.

Однако, в реальной работе поддержка обычного приложения - это обязательное условие заказчика. Например, базы данных с историей более 3-х лет.

Поэтому, далее будет предложен компромиссный вариант. В котором программист оставляет себе возможность корректного перехода на управляемое приложение.

Особенностью разработки является корректная работа СКД с таблицей и деревом значений в режиме тонкого клиента.

Сформулируем цель разработки.

Цель – это сокращение трудозатрат программиста на применение СКД, при работе с ТабличнымДокументом, ТаблицейЗначений, ДеревомЗначений и внешними базами.

Условие №1 (обязательное). Разработка правильно работает в управляемом приложении, в том числе в режиме тонкого клиента.

Условие №2. Если разработка применяется на обычных формах, то условие №1 не нарушается.

Комментарий к условию №2. Такое условие позволяет программисту не жалеть о зря потраченном времени.

Условие №3. Информация из внешней базы может быть получена методами СКД при сохранении первых двух условий.

Условие №4 (не обязательное). Разработка позволяет работать с файлами *.xls, так как последнее часто востребовано в техническом задании или требуется программисту для ввода данных.

Пояснение к пяти вариантам конструктора СКД.

Естественный для программиста метод сокращения своих трудозатрат – это использование вложенного труда. Так как предлагаемая разработка реализует именно этот метод, то она не предлагает революционное решение, а очень просто либо автоматически согласовывает заявку с возможностью, либо оповещает о причине отказа.

Так же естественно, что выполнение 4-х указанных в предыдущем параграфе условий потребует не совсем простого программного кода. Назовём этот программный код (вложенный труд) шаблоном. На практике, даже очень хороший шаблон Системы Компоновки Данных приходится корректировать. А это противоречит цели – сокращение трудозатрат программиста.

Поэтому, разработка имеет 6(шесть) вариантов шаблона. Сложность программного кода шаблона растёт вместе с номером варианта. Программисту следует выбирать самый младший вариант из предложенных, руководствуясь таблицей№2. Это сократит трудозатраты на оперативное обслуживание выбранного шаблона. Описание каждого варианта размещено в Help и продублировано в таблице №1.

ВИДЕО.

Видеоролик наглядно демонстрирует вышеизложенное на примере самого сложного шаблона №6 (универсальный).

Текст к видеоролику прилагается. Если речевое сопровождение отличается от текста, то правильным следует считать письменный текст. Также в тексте размещены примечания, озвучка которых нарушает ритм видеоролика.

ТЕКСТОВКА демонстрации видеоролика «Конструктор СКД для тонкого клиента».

00:00. Начинается демонстрация конструктора Системы Компоновки Данных. Запускаем Конструктор одновременно в трёх режимах запуска: обычный, управляемый Толстый и управляемый Тонкий.

Демонстрация будет выполнена на универсальном отчете по Варианту №6. Этот вариант можно запускать автономно в любой конфигурации. Вариант №6 требует наибольшие трудозатраты на сопровождение. Это плата за универсальность.

Запускаем Конструктор СКД в трёх режимах запуска. И демонстрируем 6(шесть) сервисов конструктора.

Экраны расположены по порядку сверху вниз. Вверху Обычный режим, по центру УправляемыйТолстый, внизу справа УправляемыйТонкий.

00:42. На первом Уровне Демонстрации – формируем РезультатСКД только методами доступными в СКД.

На каждой закладке получим результатСКД соответствующего типа: ТабличныйДокумент, ТаблицаЗначений и ДеревоЗначений.

Однако в управляемом приложении не допускается в одной форме использовать Элементы с одинаковыми именами, даже на разных страницах. Поэтому, конструктор проверяет наличие дублей имен колонок и предлагает очистить таблицу, которая препятствует выводу на экран запрошенного РезультатаСКД.

Примечание. Необходимость защиты от дублей имён является следствием текущей реализации КонструктораСКД. Поэтому, при большом желании программиста это ограничение может быть устранено. Примечание закончилось.

01:35. На втором уровне демонстрации Конструктора СКД, покажем возможность применения алгоритмов не доступных в средствах СКД. Например, в ДеревоЗначений, полученное методом СКД, добавим произвольный знак.

Примечание. Произвольный алгоритм программист вынужден применять в случаях, когда средствами СКД нельзя получить заказанный Результат, то есть требуется последующая программная обработка РезультатаСКД, например, ОбработкаПроведения. Примечание закончилось.

В режиме тонкого клиента многократное применение алгоритма к таблице не возможно, так как клиент не запоминает таблицу.

Примечание. В тонком клиенте Конструктор СКД каждый раз таблицу создаёт на сервере по схеме СКД. Затем, на сервере обрабатывает её по назначенному алгоритму. Затем, формирует Табличный Документ по схеме СКД, который выводит на экран. Примечание закончилось.

02:07. На третьем уровне демонстрации. Получим данные из внешней базы, параметры которой заданы на закладке «Параметры базы данных (Источника)». В качестве сервиса, конструктор может проверить корректность Com соединения c внешним источником. При удачном соединении будет выведена строка подключения.

0:. Пронаблюдаем, что произвольный алгоритм также применим к внешней базе в каждом из трёх режимов запуска. Обычный. Управляемый Толстый. Особенно отмечаем, что в тонком клиенте всё работает также.

03:23. На четвертом уровне проверим универсальность конструктора СКД.

В желтом поле выбираем место размещения модулей СКД.

1(первый) вариант размещения - в модуле внешней обработки. Такое размещение модуля позволит запускать конструктор в любой базе.

2(второй) вариант размещения - в конфигурации, в общихМодулях.ОбщегоНазначенияСКД. Такое размещение обеспечивает минимизацию трудозатрат программиста на сопровождение.

Конструктор СКД сам определит доступные модули по факту, которые и предложит в жёлтом поле.

Покажем, что встроенный сервис от фирмы 1С функционирует нормально.

03:43. Типовой от фирмы 1С конструктор построения схемы СКД можно вызывать в обычном и управляемом режимах.

0:4. Имя варианта настроек можно задать в обычных и управляемых формах.

На четвертом уровне было показано, что стандартный сервис от фирмы 1С функционирует без изменений, а данная разработка добавляет обработку таблиц и деревьев Значений, в том числе в режиме тонкого клиента.

Минимизация трудозатрат программиста при работе в тонком клиенте является одной из целей конструктора.

04:49. На пятом уровне проверим методологическую значимость размещения произвольных алгоритмов в модуле обработки, а не в модуле формы.

04:54. Что бы исключить сомнения в том, что общие процедуры с именем «ВыполнитьПоАлгоритму…..» одновременно обслуживают все режимы запуска, изменим алгоритм обработки с «+» на «!».

05:43. Видим, что работает во всех ранее перечисленных режимах.

06:31. И на шестом уровне демонстрации, загрузим таблицу *.XLS. Правила загрузки смотри в Help.

Заключение. Весь заявленный сервис начинает работать:

А) после заполнения макета.

Б) При необходимости применения методов обработки недоступных в СКД, заполняем процедуры с именем «ВыполнитьПоАлгоритму….».

В) Тонкий клиент не является препятствием работе с деревом значений.

06:50. Удобно в предложенном конструкторе СКД то, что на запуск отчета с алгоритмами недоступными в СКД не требуется дополнительных трудозатрат. При этом учтены особенности запуска в тонком клиенте.

Желаю удачи всем и каждому.

07:16. Длительность видеоролика.

Таблица№1. Help КонструктораСКД (F1).

Сервис программисту.

Вариант №1. Простейший Конструктор СКД для толстого клиента, как объект конфигурации. «РезультатСКДупр1_Толстый».

Шаблон обеспечивает обработку информации в режимах толстого и тонкого клиентов с особенностями изложенными ниже.

Вариант №1 рекомендуется в случаях, когда средств СКД достаточно для получения результата, а в конфигурации размещены «ОбщийМодульСКД», «ФункцииДляОтчетовСерверСКД», «ФункцииДляОтчетовСКД» и «ОбщийМакет.СКДтонкийКлиент».

Вариант №2. Конструктор СКД для тонкого клиента, как объект конфигурации. «РезультатСКДупр2_Тонкий».

Шаблон обеспечивает обработку информации в режимах толстого и тонкого клиентов с особенностями изложенными ниже.

Вариант №2 рекомендуется, когда в режиме тонкого клиента для получения результата необходимо обрабатывать Дерево или Таблицу значений.

А в конфигурации размещены «ОбщийМодульСКД», «ФункцииДляОтчетовСерверСКД», «ФункцииДляОтчетовСКД» и «ОбщийМакет.СКДтонкийКлиент».

Вариант №3. Простейший Конструктор СКД, как внешний отчет. «ШаблонСКДупр3_CFтонкий.erf»

Шаблон-ВнешнийОтчет обеспечивает обработку информации в Управляемом режиме запуска толстого и тонкого клиентов с особенностями изложенными ниже.

Вариант №3 рекомендуется в случаях, когда средств СКД достаточно для получения результата, а в конфигурации размещены «ОбщийМодульСКД», «ФункцииДляОтчетовСерверСКД», «ФункцииДляОтчетовСКД» и «ОбщийМакет.СКДтонкийКлиент».

Вариант №4. Конструктор СКД для тонкого клиента, как внешний отчет. «ШаблонСКДупр4_ВнешнТонкий.erf».

Шаблон-ВнешнийОтчет обеспечивает обработку информации в Управляемом режиме запуска толстого и тонкого клиентов с особенностями изложенными ниже.

Вариант №4 рекомендуется, если в режиме тонкого клиента для получения результатаСКД необходимо обрабатывать Дерево или Таблицу значений методами не доступными в СКД. Метод обработки формулируется в процедуре «ВыполнитьПоАлгоритмуNN_».

Вариант размещения МодулейСКД указывается на экране в поле, выделенном жёлтым цветом.

Вариант №5. Конструктор СКД обычная форма, как внешний отчет. «ШаблонСКДобыч5_CFтонкий.erf».

Шаблон-ВнешнийОтчет обеспечивает обработку информации в Обычном и Управляемом режимах запуска толстого и тонкого клиентов с особенностями изложенными ниже.

Вариант №5 рекомендуется в случаях, когда в конфигурации размещены «ОбщийМодульСКД», «ФункцииДляОтчетовСерверСКД», «ФункцииДляОтчетовСКД» и «ОбщийМакет.СКДтонкийКлиент».

Универсальность исполнения алгоритмов в обычном и управляемом приложениях, достигнута за счет размещения общих реквизитов в реквизитах обработки и обработчиков алгоритмов в процедурах модуля внешнего отчета. Это следующие процедуры:

  • ВыполнитьПоАлгоритмуТЗ_01общий(),
  • ВыполнитьПоАлгоритмуДЗ_01общий(),
  • ВыполнитьПоАлгоритмуXLS_01общий,
  • УстановитьСтартовыеПараметрыЭтойФормы(),
  • ЗаполнитьПараметрыСКДсрв(),
  • ЗаполнитьПараметрыСоединенияСрв(),
  • УбратьНедопустимыеЗнаки()

Вариант №6. Конструктор СКД универсальный, как внешний отчет. «ШаблонСКДобыч6_ВнешнТонкий.erf».

Шаблон-ВнешнийОтчет обеспечивает обработку информации в Обычном и Управляемом режимах запуска толстого и тонкого клиентов с особенностями изложенными ниже.

Вариант №6 рекомендуется использовать, если варианты с меньшими номерами не обеспечивают востребованной функциональности. Вариант №6 самый сложный в обслуживании программисту.

Вариант размещения МодулейСКД указывается на экране в поле, выделенном жёлтым цветом.

Универсальность исполнения алгоритмов в обычном и управляемом приложениях, достигнута за счет размещения общих реквизитов в реквизитах обработки и обработчиков алгоритмов в процедурах модуля внешнего отчета. Это следующие процедуры:

  • ВыполнитьПоАлгоритмуТЗ_01общий(),
  • ВыполнитьПоАлгоритмуДЗ_01общий(),
  • ВыполнитьПоАлгоритмуXLS_01общий,
  • УстановитьСтартовыеПараметрыЭтойФормы(),
  • ЗаполнитьПараметрыСКДсрв(),
  • ЗаполнитьПараметрыСоединенияСрв(),
  • УбратьНедопустимыеЗнаки()

Com соединение с внешней базой

После Выбора варианта размещения данных для СКД следует заполнить параметры подключения. По кнопке «ПроверитьСоединение» конструктор проверит корректность параметров.

По кнопке «СформироватьСКД» конструктор возьмёт данные из выбранной внешней базы. Адрес внешней базы будет объявлен в заголовке страницы РезультатаСКД.

XLS

Наименование столбцов ТаблицыЗначений берём из указанной строки шапки (номерСтрокиШапки). В большинстве случаев, это нижняя строка шапки. Наименования автоматически будут преобразованы к допустимым в 1С.

Тип значения столбца берем из строки = номерСтрокиШапки+ВысотаШапки. В большинстве случаев, это верхняя строка таблицы xls.

Таблица №2. Условия применимости вариантов КонструктораСКД.

Система компоновки данных представляет собой механизм, основанный на декларативном описании отчетов. Он предназначен для построения отчетов, а также вывода информации, имеющей сложную структуру и содержащий произвольный набор таблиц и диаграмм.

Система компоновки данных

Устройство системы компоновки данных

  • создание отчета без программирования;
  • использование автоматически генерируемых форм просмотра и настройки отчета;
  • разбиение исполнения отчета на этапы;
  • исполнение отдельных этапов построения отчета на различных компьютерах;
  • независимое использование отдельных частей системы компоновки данных;
  • программное управление процессом выполнения отчета.

Основные элементы системы компоновки данных представлены на следующей схеме:

Система компоновки данных

Схема компоновки данных

Схема компоновки данных описывает суть данных, которые предоставляются отчету (откуда получать данные и как можно управлять компоновкой данных). Представляет собой базу, на основе которой могут быть сформированы всевозможные отчеты. Схема компоновки данных может содержать:

  • текст запроса с инструкциями системы компоновки данных;
  • описание нескольких наборов данных;
  • подробное описание доступных полей;
  • описание связей между несколькими наборами данных;
  • описание параметров получения данных;
  • описание макетов полей и группировок;
  • и др.

Настройки компоновки данных

Настройки компоновки данных описывают все, что может настроить разработчик или пользователь в некоторой установленной схеме компоновки данных. Настройки компоновки данных могут содержать:

  • отбор;
  • упорядочивание;
  • условное оформление;
  • структуру отчета (составные части будущего отчета);
  • параметры получения данных;
  • параметры вывода данных;
  • и др.

Макет компоновки данных

Макет компоновки данных представляет собой уже готовое описание того, как должен быть сформирован отчет. В нем соединяется схема компоновки и настройки компоновки. Фактически макет компоновки данных представляет собой результат применения конкретных настроек к схеме компоновки и является готовым заданием процессору компоновки на формирование отчета нужной структуры с учетом конкретных настроек.

Элемент результата компоновки данных

Результат компоновки данных представляется набором элементов результата компоновки данных. Как самостоятельная логическая сущность результат компоновки данных не существует, существуют только его элементы. Элементы результата компоновки данных можно вывести в табличный документ для представления их пользователю, или в другие виды документов. Также имеется возможность программного вывода элементов результата компоновки в объекты вида Дерево значений или Таблица значений.

Работа с системой компоновки данных в конфигурации

Система компоновки данных интегрирована в объект конфигурации Отчет. Это позволяет создавать отчеты без программирования.

У объекта конфигурации Отчет реализовано свойство «Основная схема компоновки данных»:

Система компоновки данных

При нажатии кнопки открытия для этого свойства, вызывается конструктор макета, который позволяет создать макет отчета, содержащий схему компоновки данных:

Система компоновки данных

После нажатия кнопки «Готово» будет открыт конструктор схемы компоновки данных.

Конструктор схемы компоновки данных позволяет описать исходные данные, которые будет использовать отчет: наборы данных, связи между наборами данных, вычисляемые поля, ресурсы и т. д.

Система компоновки данных

Также конструктор схемы компоновки данных предоставляет возможность описать настройки компоновки данных, которые будут использоваться по умолчанию (в том случае, если пользователь не задаст собственные настройки). Настройки компоновки данных могут быть созданы с помощью специального конструктора настроек компоновки данных, или вручную:

Система компоновки данных

После выполнения этих действий отчет готов. В режиме 1С:Предприятие система автоматически, на основании схемы компоновки данных, содержащейся в отчете, может создать форму отчета и форму настроек отчета.

Таким образом пользователь просто запускает отчет и получает результат в соответствии с теми настройками, которые описал разработчик:

Система компоновки данных

При необходимости пользователь может открыть форму настроек отчета и отредактировать их, изменить структуру отчета и т. д. аналогично тому, как это делает разработчик в режиме конфигуратора.

Консоль системы компоновки данных

Внешний отчет «Консоль системы компоновки данных» предназначен для специалистов, желающих подробнее узнать об устройстве системы компоновки данных. Консоль позволяет выполнять отдельные шаги компоновки данных с просмотром промежуточных результатов в виде XML. Подробнее…

IS Toolkit набор инструментов, который позволяет разрабатывать схемы и отчеты на СКД через консоль компоновки данных, инструменты используются только для управляемых форм, а конструктор СКД от 1С у нас работает только с обычными формами.

Это было большим неудобством т.к. для вызова конструктора СКД приходилось запускать в режиме толстого клиента. Когда все пользователи конфигурации работают в тонком клиенте, а ты разработчик используешь для проверки толстый клиент можно пропустить очень простые ошибки (поведение значительно отличается).

Задача очень сложная уже работаю над ней с разной степенью приложения усилий более полугода. Ранее рассказывал о том что разработка ведется в докладе "Infostart Toolkit – инструмент, в котором сделано то, что давно просят от 1С" (Инфостарт Евент 2021 Санкт-Петербург), но тогда версия еще была далека от релиза. Первая реализация, которая достойна описания, появилась в IS Toolkit с версии 2.0, которая вышла несколько дней назад.


Важно. Версия тестовая, могут быть есть ошибки и проблемы, использовать в работе пока я бы все-таки не рекомендовал. В конструкторе много тонкостей. Буду продолжать работу по реализации всех функций СКД и исправлением проблем.

Главные плюсы

  • Работает в тонком клиенте
  • Работает совместно с доработанным тонким конструктором запросов
  • Подцветка синтаксиса, контекстная подсказка в редакторе выражений на базе MS Monaco подробнее
  • Удобная форма выбора типа значения подробнее
  • Другие улучшения интерфейса (подробнее ниже)

Конструктор по умолчанию выключен, включается Настройки - Общие - Конструктор СКД - Toolkit (тестовый)


Новый конструктор реализован на управляемых формах и выглядит более приятнее в большинстве форм доступно "Изменить форму. " позволяет настроить внешний вид (некоторые элементы по умолчанию скрыты). Не претендую на гениальность всех решений, хотелось сделать удобнее, проще, лучше. Описывать буду отличия от стандартного конструктора СКД.

Удобный редактор выражений (требуется платформа 8.3.14)

  • Подцветка синтаксиса
  • Контекстная подсказка по полям и параметрам
  • Подсказка по функциям например, ВычислитьВыражениеСГруппировкойТаблицаЗначений :)
  • Шаблоны Выбор и др.

В стандартном конструкторе очень неудобно реализована работа с группами и наборами полей, весьма не очевидным образом через путь к данным. Поля разбросаны от своих родителей. И чтобы включить поле в группу нужно в путь к данным добавлять префикс "."


Стандартный конструктор от 1С


Схема в тонком конструкторе

Поддерживается перенос полей через Drag & Drop и удалось полностью уйти от поля путь к данным

Некоторые формы которые используются в толстом конструкторе не имеет аналогов на управляемых были реализованы:

Выбор поля, Редактирования роли, Редактирование параметров редактирования и др.




В стандартном конструктор есть галочка Автозаголовок когда нам надо задать заголовок отличный от "авто" ставим ее и вводим.


В новом конструкторе нет галочки Автозаголовок просто вводим заголовок, пока заголовка нет отображается серым текстом чтобы не привлекать внимание.


Работает в полях наборов, вычисляемых поля, параметрах, вложенных схемах, вариантах.

В СКД есть источники данных тип "ИсточникиДанныхСхемыКомпоновкиДанных" заполнение в объектной модели обязательно хотя заполнение никак не влияет на работу, поэтому работа с ними скрыта. Можно добавить через "Изменить форму. "


Включенные элементы работы с источниками данных

Работает в полях наборов данных, связях наборов, вычисляемых полях, параметрах.

Некоторые объекты СКД имеет большое количество настраиваемых полей, которые используются редко. Например, ВыражениеПредставления для поля набора данных такие поля по умолчанию скрываются и включаются через Еще - Подробно в соответствующей командной панели. Заполненные будет видно всегда.


Редкие используемые поля показаны


Редко используемые поля скрыты

Когда схема пустая и не содержит наборов данных отображаются кнопки создания набора данных


  • Более информативные заголовки станиц в них отображается количество элементов на странице
  • Выбор поля остаток в редактировании роли типа остаток
  • Улучшен интерфейс закладки "Ресурсы"
  • Возможность настраивать формы через "Изменить форму. "
  • Работа на английском языке

Что не реализовано (известные проблемы)

  • Макеты (только просмотр)
  • Редактирование настроек вложенной схемы
  • Автоматическое получение ролей полей по тексту запроса
  • Форма конструктор настроек структуры
  • Установка типов параметра Системные перечисления, Характеристика, ОпределяемыйТип

Мой конструктор более функционален и удобен, развивается и все проблемы будут решены, описываемая разработка вышла более 8 месяцев назад никаких (вообще) исправлений или доработок, а инструмент очень сложный. Другой конструктор это скорее повторение стандартного с кучей проблем в моем же реализовано много нового. Еще он менее функционален и от реального использования он намного дальше.

В то же время, отчет может быть построен полностью программно, с использованием объектов встроенного языка. Их взаимосвязь:


Вопрос 11.36 экзамена 1С:Профессионал по Платформе. Каким образом может быть создана схема компоновки данных?

  1. Визуально, при помощи конструктора схемы компоновки данных
  2. Программно, при помощи объектов встроенного языка системы 1С:Предприятие 8
  3. Визуально, при помощи любого редактора, позволяющего редактировать текст XML
  4. Верны варианты 1 и 2
  5. Верны варианты 1 и 3
  6. Верны все варианты

Вопрос 11.22 экзамена 1С:Профессионал по Платформе. Для чего используется конструктор схемы компоновки данных?

  1. Для создания схемы компоновки данных
  2. Для редактирования настроек системы компоновки данных
  3. Для вывода результата компоновки в виде отчета
  4. Для исполнения компоновки данных

Вопрос 11.23 экзамена 1С:Профессионал по Платформе. Для чего используется компоновщик настроек компоновки данных?

  1. Для создания схемы компоновки данных
  2. Для редактирования настроек системы компоновки данных
  3. Для вывода результата компоновки в виде отчета
  4. Для исполнения компоновки данных

Вопрос 11.24 экзамена 1С:Профессионал по Платформе. Для чего используется процессор компоновки данных?

  1. Для создания схемы компоновки данных
  2. Для редактирования настроек системы компоновки данных
  3. Для вывода результата компоновки в виде отчета
  4. Для исполнения компоновки данных

Вопрос 11.25 экзамена 1С:Профессионал по Платформе. Для чего используется процессор вывода компоновки данных?

  1. Для создания схемы компоновки данных
  2. Для редактирования настроек системы компоновки данных
  3. Для вывода результата компоновки в табличный документ
  4. Для исполнения компоновки данных

Вопрос 11.26 экзамена 1С:Профессионал по Платформе. Каким объектом представлен конструктор схемы компоновки данных

  1. Объектом встроенного языка
  2. Объектом конфигурации
  3. Объектом информационной базы
  4. XML-файлом

Вопрос 11.27 экзамена 1С:Профессионал по Платформе. В каком виде можно получить результат компоновки данных?

  1. В табличном документе
  2. В виде таблицы значений
  3. В виде диаграммы
  4. В сводной таблице
  5. Верны варианты 1 и 3
  6. Верны все варианты

Вопрос 11.28 экзамена 1С:Профессионал по Платформе. Каким образом представлена в системе 1С:Предприятие 8 схема компоновки данных

Александр Капралов

Одним из самых удобных и уникальных инструментов разработки в 1С является система компоновки данных (СКД). Мало в каких информационных системах разработчики могут создавать отчеты без написания программного кода. Данный механизм разрабатывался с целью упростить и ускорить разработку отчетных форм и дать больше возможностей пользователям в работе с выводимыми данными. Последнее очень высоко ценится продвинутыми пользователями, которые благодаря этому могут самостоятельно настроить отчет под собственные нужды, не ожидая действий разработчиков.

Создание отчета в 1С через СКД

Процесс разработки отчета при помощи СКД можно разделить на следующие этапы:

  1. Создание запроса. Запрос можно написать вручную или обойтись без программного кода, воспользовавшись удобным интерфейсом;
  2. Настройка отчета. Выбираются поля, итоги, группировки, параметры, оформление отчета;
  3. После этого нам останется лишь подключить получившийся отчет в конфигурацию любым доступным способом.

Несмотря на возможность пользователей настраивать отчеты на СКД, создавать их необходимо через конфигуратор.

Рассмотрим пример создания внешнего отчета на СКД:

    В конфигураторе через меню «Файл»-«Новый…» создаем новый внешний отчет. Назначаем имя и синоним в соответствии с принятыми правилами в 1С и открываем схему компоновки данных;

Рис.1 Пример создания внешнего отчета на СКД

Рис.1 Пример создания внешнего отчета на СКД

Рис.2 Создание запроса

Рис.2 Создание запроса

Рис.3 Составление простейшего запроса

Рис.3 Составление простейшего запроса

  • Указать заголовок;
  • Выбрать доступный тип значения;
  • Изменить формат;
  • Выразить одно поле через другое (заменить ссылку на номер документа, что более компактно);
  • Выделить шрифтом или цветом.

Рис.4 Работа с полями

Рис.4 Работа с полями

Рис.5 Выбрать поля для вывода на экран

Рис.5 Выбрать поля для вывода на экран

Рис.6 Настройка закончена

Рис.6 Настройка закончена

Теперь заходим в 1С, открываем наш отчет, чтобы удостовериться в правильности совершенных действий. Данные все отражены, группировки можно сворачивать и разворачивать. Как видите, СКД позволяет получать полноценные отчеты без написания кода за исключением нестандартных требований. Учитывая, что большинство отчетов имеют схожую структуру, знание СКД позволит существенно сократить время на разработку этих объектов.

Большую популярность этому механизму обеспечила поддержка широких возможностей при формировании отчета. Причем пользоваться ими могут не только разработчики, но и простые пользователи.


Возможности СКД

Бывают ситуации, когда мы сделали отчет, а потом приходит пользователь и просит сделать небольшую доработку. Например, вместо названий номенклатуры выводить артикулы. СКД позволяет такие доработки делать пользователям самостоятельно с помощью кнопки «Еще» - «Изменить вариант…».

Рис.7 Возможности доработок со стороны пользователей

Рис.7 Возможности доработок со стороны пользователей

Открывшееся окно похоже на окно настройки в отчете в конфигураторе, а также оно имеет схожие функции. Чтобы решить поставленную задачу пользователь должен зайти во вкладку «Поля» и изменить поле «Номенклатура». Это поле для редактирования открывается двойным щелчком, и становится доступна кнопка «Выбрать…».

Рис.8 Редактирование полей

Рис.8 Редактирование полей

Открывшееся окно предоставляет нам возможность выбора любого значения, которое будет фигурировать в поле «Номенклатура». У некоторых полей слева фигурирует знак плюса – в эти поля разработчик поместил ссылки, значит, мы можем увидеть их реквизиты. Раскрываем «Номенклатура» и видим артикул, который нам и нужен. Выделяем его и выбираем.

Рис.9 Выбираем значения

Рис.9 Выбираем значения

В окне изменения вариантов отчета заложены многие полезные функции системы компоновки данных. К примеру, пользователь самостоятельно может изменить порядок группировок, добавить отбор или наложить условное оформление. Завершаем редактирование и формируем отчет – как видим, вся номенклатура теперь отображается в виде артикулов.

Рис.10 Окно изменения вариантов отчета

Рис.10 Окно изменения вариантов отчета

Механизм СКД 1С:Предприятие 8.3 также имеет расширенный функционал для разработчиков. При разработке отчета мы пользовались всего 2 вкладками – «Наборы данных» и «Настройки», но в СКД их намного больше. Чтобы пользоваться всеми функциями системы компоновки данных, необходимо представлять, для чего каждая из вкладок нужна:

  1. Наборы данных – здесь перечислены все запросы, участвующие в формировании отчета;
  2. Связи наборов данных – используется для построения связи между различными запросами с первой вкладки;
  3. Вычисляемые поля – перечень добавленных полей не из запроса. Чаще всего используется в случаях, когда на основании значений нескольких полей из запроса нужно получить 1 значение;
  4. Ресурсы. В 1С так называются поля, по которым необходимо знать итоги. Ресурсы поддерживают различные арифметические операции – сумму, количество, максимум и другие;
  5. Параметры. Используются, если для формирования отчета необходимо, чтобы пользователь ввел определенные данные – дату, подразделений или номенклатуру, например;
  6. Макеты. Предназначены для тех случаев, когда пользователи хотят увидеть уникально оформленный отчет. Создать отдельное место для подписей или новую верхнюю часть отчета – все это можно здесь;
  7. Вложенные схемы. Они необходимы, когда ваш отчет должен содержать данные других отчетов;
  8. Настройки. В разделе объявляются выводимые поля, группировки, настраивается внешний вид отчета.

Рис.11 Функционал для разработчиков

Рис.11 Функционал для разработчиков

Количество возможностей, заложенных в механизме СКД разработчиками, велико, но многие из них используются крайне редко. Даже опытные программисты 1С за годы работы могут не использовать некоторые функции. Для начала успешной работы в СКД достаточно знать основные понятия и часто используемые настройки. В редких случаях на помощь придет документация.

Если у вас остались вопросы по настройке отчета, обратитесь за 1С консультацией к нашим специалистам. В случае, если под ваши задачи не подходит вариант создания отчета через 1С:СКД, наши специалисты могут оказать услуги по доработке типовой конфигурации 1С.

Читайте также: