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

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

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

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

Организация\Контрагент\Документ Начальный долг Увеличение долга Уменьшение долга Конечный долг
ЗАО “Конфетпром” 500,00 300,00 200,00
   ООО “Леденец” 500,00 300,00 200,00
Документ №1 от 01.11.2012 300,00 300,00
Документ №2 от 02.11.2012 300,00 200,00 500,00
Документ №3 от 02.11.2012 500,00 300,00 200,00
Итого 500,00 300,00 200,00

Приступим к разработке. Добавим в дереве конфигурации новый отчет, введем название и нажмём на кнопку “Открыть схему компоновки”. При этом откроется конструктор макета схемы компоновки данных. Жмём кнопку “Готово”. На закладке “Наборы данных” добавляем новый набор данных “Запрос” (назовём его “Взаиморасчеты”). Вызовем конструктор запроса. Будем выбирать данные из таблицы итогов “ОстаткиИОбороты” регистра накопления “Взаиморасчеты” (это, так называемая, “виртуальная” таблица, предназначенная для хранения итогов и оборотов по ресурсам регистра для различных наборов измерений). Откроем таблицу параметров виртуальной таблицы, где установим значения параметра “Периодичность” равным “Авто” (это позволит выбирать данные из таблицы итогов регистра с разной периодичностью). В поле “Условие” внесём текст “Организация = &Организация” (для дальнейшей фильтрации отчета по выбранному значению параметра “&Организация”.  Определим набор полей, которые будем использовать в отчёте. Поле “ВзаиморасчетыОстаткиИОбороты.Регистратор” заменим на следующую конструкцию (далее будет ясно для чего).

ВЫБОР КОГДА ВзаиморасчетыОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО ТОГДА NULL ИНАЧЕ ВзаиморасчетыОстаткиИОбороты.Регистратор КОНЕЦ

Установим для этого поля наименование “Документ” на закладке “Объединения/Псевдонимы. На закладке “Дополнительно” установим флаг “Разрешенные” (тем самым в тексте запроса к предложению “ВЫБРАТЬ” будет добавлено ключевое слово “РАЗРЕШЕННЫЕ”). Это означает, что запрос выберет только те записи на которые у пользователя установлено право чтения. Так, если попытаться выбрать таким запросом данные без фильтра по организации под пользователем с правами на просмотр данных только одной организации, то будут выбраны данные только этой организации. Без использования ключевого слова “РАЗРЕШЕННЫЕ” в такой ситуации возникнет ошибка “Нарушение прав доступа”.

Особое внимание хотелось бы обратить на то, что кроме права “Чтение” для объектов, выбираемых отчетом, у пользователя должно быть установлено право “Просмотр”. В противном случае данные, связанные с этим объектом не будут выведены в отчёт без каких-либо сообщений об ошибке.

Завершим работу с конструктором запроса. В получившемся тексте запроса заменим строку “Оргаизация = &Оргаизация” на “{Организация = &Организация}”. Использование фигурных скобок в тексте запроса является расширением языка запросов для СКД (для обычных запросов такая возможность отсутствует). Заключенное в фигурные скобки условие в запросе схемы компоновки данных будет игнорироваться в случае, если хотя бы один из параметров, использованных в условии не задан.

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

Основные настройки уже сделаны платформой. Например, для полей периодов установлены необходимые настройки в колонке “Роль”. В качестве роли для этих полей установлен вариант “Период” и задан порядковый номер. Поля нумеруются в порядке возрастания, от наименьшего периода к наибольшему (это необходимо для правильного расчета остатков по полям периода в отчёте). Обратите внимание, что для поля “Документ” (Регистратор регистра накопления “Взаиморасчеты”) в колонке “Роль” тоже необходимо установить вариант “Период” и установить порядковый номер равным единице (порядковые номера остальных периодов необходимо увеличить на единицу). Как вы помните, ранее мы изменили поле “Документ” таким образом, что в ряде случаев оно может принимать значение “NULL”. Такое возможно, когда мы формируем отчет с детализацией до документов за период, на начало которого есть остатки. В таком случае мы получаем дополнительную строку начального остатка с “пустым” регистратором. Чтобы этого избежать мы установим в настройках роли поля “Документ” флаг “Игнорировать значения NULL”. Для полей остатков установлены соответствующие роли – начальный и конечный остаток. Это позволяет системе корректно выполнять расчет значений. В частности, итоги для полей остатков вычисляются ни как сумма всех строк таблицы, а как остаток по регистру.
Теперь перейдём на закладку “Ресурсы”. Здесь выберем поля, данные которых мы хотим видеть в итогах группировок и в общих итогах отчётаЗакладка "Ресурсы" отчета на СКДПерейдем на закладку “Параметры”. Здесь уже присутствуют предопределенные параметры “НачалоПериода” и “КонецПериода” (их значения будут использоваться в качестве параметров виртуальной таблицы “ОстаткиИОбороты” регистра “Взаиморасчеты”) и параметр “Организация”, который мы добавили в текст запроса вручную, заключив в фигурные скобки, чтобы он был необязательным. Закладка "Параметры" отчета на СКДДля удобства заполнения значений параметров “НачалоПериода” и “КонецПериода” добавим в список параметров “Период” с типом “СтандартныйПериод”. В поле “Выражение” для параметров “НачалоПериода” и “КонецПериода” внесём текст “&Период.ДатаНачала” и “&Период.ДатаОкончания” соответственно, а для самих параметров отключим флаги “Ограничение доступности”.
И наконец перейдём на закладку “Настройки”. На вложенной закладке “Параметры” для параметров “Организация” и “Период” установим флаг “Включать в пользовательские настройки” (он устанавливается в окне “Пользовательские настройки элемента” – правая кнопка мыши на параметре, пункт выпадающего меню “Свойства элемента пользовательских настроек”). Закладка "Настройки -> Параметры" отчета на СКДПосле выполнения данной настройки параметры будут отображаться в основой форме отчёта.
Откроем конструктор настроек компоновки данных. На первом шаге выберем тип отчета (пусть это будет “Таблица”), на втором – поля, которые хотим выводить в отчёт, а на третьем – настроим группировку строк. В результате получим следующую настройку компоновки.Настройки компоновки данныхОтчет готов. Посмотрим на результат.
Отчет "Ведомость взаиморасчетов"

Поделиться

  • Twitter
  • Добавить ВКонтакте заметку об этой странице
  • Facebook
  • Одноклассники
  • LiveJournal
  • Мой Мир
  • В закладки Google
  • FriendFeed
  • Блог Я.ру
Как открыть схему компоновки данных Как открыть схему компоновки данных Как открыть схему компоновки данных Как открыть схему компоновки данных Как открыть схему компоновки данных Как открыть схему компоновки данных Как открыть схему компоновки данных Как открыть схему компоновки данных Как открыть схему компоновки данных Как открыть схему компоновки данных Как открыть схему компоновки данных Как открыть схему компоновки данных Как открыть схему компоновки данных Как открыть схему компоновки данных

Тоже читают:



Схема царства растений. биология 5 класс

Вязание спицами для мальчика с подробным описанием

Поделки памперсов своими руками мастер класс

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

Как натянуть потолок в машине своими руками