Войдите на сайт как ученик
Система компоновки данных 1С 8.3 для начинающих: первый отчёт на СКД
Если вы не читали введение к этому модулю - пожалуйста, прочтите его: .
Для выполнения уроков вам понадобится 1С 8.3 (не ниже 8.3.13.1644 ) .
Если у вас уже есть установленная 1С версии 8.3 - используйте её. Если нет - скачайте и установите учебную версию, которую фирма 1С выпускает специально для образовательных целей: .
На вашем рабочем столе должен появиться вот такой ярлык:
Для всех уроков из этого цикла мы будем использовать подготовленную мной базу данных "Гастроном". Она полностью совпадает с базой, которую мы использовали в и модулях школы при изучении запросов. Поэтому я рассчитываю, что вы знакомы с её справочниками и документами.
Если вы её удалили - скачайте заново по следующей , распакуйте и в список баз.
Наконец, рабочее место настроено и сейчас мы вместе создадим наш первый отчёт при помощи системы компоновки данных. Он будет очень простым, чтобы продемонстрировать общие возможности системы компоновки данных (сокращенно СКД ).
Цель этого урока
- создать отчёт, который в режиме пользователя выводит список клиентов со следующими полями:
Отчёт должен быть внешним. Это значит, что он будет создан и настроен в конфигураторе, а затем сохранен в виде отдельного (внешнего) файла на компьютере.
Чтобы сформировать такой отчет в 1С пользователю нужно будет запустить базу в режиме пользователя, открыть этот файл и нажать кнопку "Сформировать".
Поехали!
Запускаем конфигуратор для базы "Гастроном":
Из главного меню выбираем пункт "Файл"->"Новый...":
Выбираем "Внешний отчет":
Открылось окно создания внешнего отчёта. В качестве имени вводим: "Урок1 ", а затем жмём кнопку "Открыть схему компоновки данных ":
Запустился конструктор создания схемы. Соглашаемся с именем по умолчанию "ОсновнаяСхемаКомпоновкиДанных " и жмём кнопку "Готово ":
Открылось основное рабочее окно, с множеством закладок и полей, в котором мы и будем настраивать нашу схему компоновки данных.
Не нужно пугаться - возможностей здесь действительно много, но далеко не все из них нам нужны. Особенно на первом уроке.
Сейчас мы находимся на закладке "Наборы данных ". На ней и останемся.
Система компоновки данных (сокращенно СКД) требует от нас данные, которые она будет выводить пользователю.
Самый простой способ - написать запрос к базе. В школы мы научились писать и понимать запросы - поэтому я рассчитываю, что вы обладаете соответствующими навыками.
Нажимаем на зелёный плюсик и в раскрывшемся списке выбираем пункт "Добавить набор данных - запрос ":
Наша задача написать в это поле текст запроса. Вы ещё не забыли как это делается?
Я вам подскажу:
В этом запросе мы выбрали три поля ("Наименование ", "Пол " и "ЛюбимыйЦвет ") из таблицы "Справочник.Клиенты ".
Но не торопитесь писать этот текст в поле "Запрос" вручную.
Сейчас мы создадим тот же самый запрос визуально, только при помощи мышки. Этот способ называется "Конструктор запроса ".
Чтобы вызвать этот конструктор нажмём кнопку "Конструктор запроса... " в верхней правой части поля "Запрос":
В открывшемся окне перетащим таблицу "Клиенты " из первого столбца во второй, чтобы указать, что именно из этой таблицы мы будем запрашивать данные:
Получилось вот так:
Далее раскроем таблицу "Клиенты " во втором столбце по знаку "Плюс ", чтобы увидеть все её поля и перетащим поле "Наименование " из второго столбца в третий, чтобы указать, что из этой таблицы нам нужно запрашивать поле "Наименование":
Получилось вот так:
Поступим точно так же с полями "Пол " и "ЛюбимыйЦвет ". Результат будет таким:
Нажмём кнопку "ОК", чтобы выйти из конструктора запроса и увидим, что текст запроса автоматически добавился в поле "Запрос".
Более того на основании текста запроса 1С сама вытащила имена полей (область выше запроса), которые будут использоваться схемой компоновки данных:
Теперь, когда мы составили запрос, СКД знает каким образом получать данные для отчёта.
Осталось как-то визуализировать эти данные для пользователя в виде печатной формы. И вот тут СКД может творить чудеса!
Чтобы сотворить такое чудо перейдём на вкладку "Настройки " и нажмём кнопку конструктора настроек (волшебная палочка ):
В открывшемся окне укажем тип отчёта "Список" и нажмём "Далее ":
В следующем окне выберем (путём перетаскивания) поля, которые нужно будет отобразить в списке (перетащим все из доступных нам: "ЛюбимыйЦвет ", "Наименование " и "Пол "):
Получим вот такой результат и нажмём кнопку "ОК ":
Конструктор настроек закрылся и появился пункт "Детальные записи ":
Отчёт готов, давайте же его проверим. Для этого вначале сохраним отчет в виде внешнего файла.
Откроем пункт главного меню "Файл "->"Сохранить ":
Я сохраню его на рабочий стол под именем "Урок1 ":
Наконец, закроем конфигуратор и зайдём в нашу базу в режиме пользователя:
Имя пользователя "Администратор", пароля нет:
Через меню выберем пункт "Файл "->"Открыть ...":
И укажем файл отчёта (я сохранял его на рабочий стол под именем "Урок1.erf":
Открылась форма отчёта, нажмём кнопку "Сформировать ":
Готово! Вот она наша печатная форма со списком клиентов, их любимым цветом и полом:
Печатную форму можно легко распечатать. Для этого достаточно выбрать в меню пункт "Файл "->"Печать... ":
Вот так просто, без программирования нам удалось создать полноценный отчёт, который пользователи смогут открывать в своих базах, формировать и распечатывать.
учеников - отвечаю по почте, но прежде загляните в .
Войдите на сайт как ученик
Войдите как ученик, чтобы получить доступ к материалам школы
Одна из самых важных областей бизнес-софта – это отчетность. От того, насколько легко настроить под меняющиеся потребности бизнеса (и законодательства) существующий отчет или сделать новый, может зависеть (причем не в переносном смысле!) судьба бизнеса, будь то отчет для налоговой инспекции или диаграмма зависимости спроса на товары от сезона и других факторов. Мощная и гибкая система отчетности, позволяющая легко извлечь из системы нужные данные, представить их в доступном для понимания виде, позволяющая конечному пользователю перенастроить стандартный отчет так, чтобы увидеть данные в новом свете – это идеал, к которому должна стремиться каждая бизнес-система.
В платформе «1С:Предприятие» за построение отчётов отвечает механизм под названием «Система компоновки данных» (сокращенно СКД). В этой статье мы постараемся дать краткое описание идеи и архитектуры механизма СКД и его возможностей.
СКД – это механизм, основанный на декларативном описании отчетов. СКД предназначен для построения отчетов и для вывода информации, имеющей сложную структуру. Кстати, помимо разработки отчетов механизм СКД также используется в «1С:Предприятии» в динамическом списке , средстве показа списочной информации с богатой функциональностью (показ плоских и иерархических списков, условное оформление строк, группировки и т.п.).
Одной из идей, легших в основу СКД, была гибкость и настраиваемость отчетов, причем доступная как разработчику, так и конечному пользователю. В идеале хотелось бы дать доступ конечному пользователю к тому же набору инструментов для дизайна отчета, что и разработчику. Логично было бы сделать единый набор инструментов, доступный всем. Ну а раз инструменты предполагают участие конечного пользователя – значит, нужно использование программирования в них убрать до минимума (лучше всего – устранить совсем), и по максимуму использовать визуальные настройки.
Легко видеть аналоги стандартных для SQL-запроса секций - SELECT, FROM, GROUP BY, ORDER BY.
При этом язык запросов содержит значительное количество расширений, ориентированных на отражение специфики финансово-экономических задач и на максимальное сокращение усилий по разработке прикладных решений:
Есть также специальные расширения языка запросов для СКД. Расширение осуществляется при помощи специальных синтаксических инструкций, заключаемых в фигурные скобки и помещаемых непосредственно в текст запроса. С помощью расширений разработчик определяет, какие операции конечный пользователь сможет проводить, настраивая отчет.
Например:
Пример:
Например, можно в качестве набора данных добавить в схему компоновки данных запрос, и вызвать конструктор запроса, позволяющий в графическом виде составить запрос произвольной сложности:
Итогом запуска конструктора запросов будет текст запроса (на языке запросов «1С:Предприятия»). Этот текст можно при необходимости скорректировать вручную:
Наборов данных в схеме компоновки данных может быть несколько, наборы данных могут быть связаны в макете произвольным образом, могут быть добавлены вычисляемые поля, заданы параметры отчета и т.п. Стоит упомянуть интересную особенность работы механизма запросов в 1С:Предприятии. Запросы в конечном итоге транслируются в диалект SQL, специфичный для СУБД, с которой непосредственно работает приложение. Мы вообще стараемся задействовать возможности серверов СУБД по максимуму (нас ограничивает то, что мы используем только те возможности, которые есть одновременно во всех поддерживаемых платформой «1С:Предприятие» СУБД – MS SQL, Oracle, IBM DB2, PostgreSQL). Таким образом, на уровне запроса в вычисляемых полях мы можем использовать только те функции, которые транслируются в SQL.
А вот на уровне схемы компоновки данных мы уже можем добавлять пользовательские поля и использовать в них функции на встроенном языке разработки 1С (в том числе и написанные нами), что сильно расширяет возможности отчетов. Технически это выглядит так – всё, что можно транслировать в SQL, транслируется в SQL, запрос выполняется на уровне СУБД, результаты запроса помещаются в память сервера приложений 1С и СКД вычисляет для каждой записи значения вычисляемых полей, чьи формулы написаны на языке 1С.
Добавление пользовательских полей
В отчет можно добавить произвольное количество таблиц и диаграмм:
Дизайнер отчетов
Отчет во время выполнения
С помощью СКД пользователь может добавлять в отчет сложные отборы (которые будут добавлены к запросу в нужных местах), условное оформление (позволяющее по-разному форматировать – шрифтом, цветом и т.д. – выводимые поля в зависимости от их значений) и многое другое.
Коротко описать процесс построения и формирования отчета можно так:
Процесс формирования отчета механизмом СКД
Мы стараемся минимизировать объем данных отчетов, передаваемых с сервера в клиентское приложение. При показе данных в табличном документе при открытии табличного документа мы передаем с сервера только те строчки, которые пользователь видит в начале документа. По мере продвижения пользователя по строкам документа на клиента подкачиваются с сервера недостающие данные.
Режим отображения настройки в design time
Отображение настройки в режиме «Быстрый доступ» во время выполнения (под кнопкой «Сформировать»)
Конечным результатом учета в любой программе 1С являются отчеты - средство анализа данных, представления результата деятельности и ее итогов. В платформе версии 8 представлен мощный инструмент разработки отчетов - Система компоновки данных . СКД позволяет легко и быстро подготовить нужный вид выходной формы (печатный документ, графики, сводные таблицы), предоставляя пользователю гибкие настройки, эффективно используя ресурсы системы.
Научиться разработке отчетов можно только в процессе решения практических задач. Именно поэтому специалистами Центра V8 создана программа Практика применения СКД 1С Предприятие 8 , позволяющая консультантам и разработчикам не только познакомиться с технологией создания отчетов, но и получить практический опыт их настройки с нуля.
В основе обучающей программы Практика применения СКД лежит Интерактивная технология :
Создание отчетов (практических задач) прямо в программе 1С;
Система автоматической проверки решений;
Качественные методические материалы;
Техническая поддержка учащихся.
В программе изучения СКД представлено несколько десятков заданий - от создания простого отчета, до формирования многоцелевого инструмента анализа данных. Обучение предусматривает у пользователя базовых знаний по программе использования языка запросов .
Практические задания представлены по следующим разделам:
- Создание простых отчетов:
Простой отчет без программного кода
- Формирование списков данных
- Базовые настройки представления отчета
- Основные возможности СКД и конструктора схемы компоновки данных:
Настройка полей отчета
- Расчет итогов ресурсов
- Управление выводом общих итогов
- Вывод данных в кросс-таблицу
- Связь нескольких источников данных
- Объединение нескольких источников данных
- Вычисляемые и пользовательские поля
- Использование параметров в отчете
- Стандартные периоды в параметрах отчета
- Установка предопределенных значений параметров
- Использование группы отборов
- Описание группы отчетов и диаграмм
- Управление представлением отчетов:
Настройка представления и группировки полей
- Расположение полей и группировок
- Условное оформление в отчете
- Настройка макета для областей отчета
- Расширенные возможности СКД:
Вывод нарастающего итога
- Дополнение периода
- Использование периодичности Авто
- Вывод характеристик объектов в отчет
- Сложные вычисляемые поля с выражениями
- Вычисляемое значение сортировки данных
- Вывод расширенных значений полей
- Представление итогов по неделям
- Настройка группы отчетов Вложенные схемы
- Самостоятельная работа (несколько заданий).
В заданиях рассмотрены особенности СКД платформы 1С Предприятие 8.3.
Программа изучения СКД сертифицирована фирмой 1С и рекомендована не только для самостоятельной подготовки технических специалистов, но и для организации учебного процесса в рамках ЦСО, АУЦ, учебных центров и т.д.
Наличие прав на использование платформы не является обязательным.
Выберите вариант работы с программой:
1. Установить и настроить учебную версию 1С на Ваш компьютер
Запустите скачанный файл setup.exe
(в случае предупреждения об опасности разрешите запуск файла);
Следуйте инструкциям программы установки.
Важно! Для работы программы требуется подключение к сети Интернет.
3. Запустить обучающую программу и выбрать информационную базу
Запустите программу обучения через ярлык "Обучение сайт" на рабочем столе;
- в списке информационных баз выберите созданную ранее;
- запустите "1С:Предприятие".
Так же Вы можете расширить методическую поддержку бесплатной программы,
Возможности программы:
Создание отчетов прямо в программе 1С (настройка схем компоновки);
- проверка настроек СКД и выдача сведений об ошибках;
- наличие персональной статистики по решению заданий;
- возможность просмотра общего рейтинга участников;
- техническая поддержка учащихся;
- методические материалы и документация по СКД и платформе 1С Предприятие 8;
- рекомендации по решению прикладных задач создания отчетов;
- доступ к иллюстрированным инструкциям, содержащим описание особенностей настройки отчетов.
Начинающим и продвинутым техническим специалистам, желающим освоить особенности технологии создания отчетов на СКД. Специалистам 1С Предприятие 7.7 продукт поможет быстро адаптироваться в технологиях платформы 1С Предприятие 8.
Доброго дня, коллеги!
Сегодня мы рассмотрим решение кейса, основанного на реальном проекте .
В видео рассмотрен пример создания отчета с использованием СКД по доставке товара в типовой конфигурации «Бухгалтерия предприятия, редакция 3.0». На данном примере показывается алгоритм действий разработчика из реального проекта. Кроме того, данное решение выполнено с учетом ограничения о крайне нежелательном внесении изменений в саму конфигурацию.
В материалах видео в качестве примера используется конфигурация, «Бухгалтерия предприятия, редакция 3.0 » (3.0.25.122). Материал актуален и для текущей версии данной конфигурации, т.к. представляет из себя именно готовый кейс с объяснением логики построения отчета с использованием СКД. Если вы обратитесь к комментариям к этом видео, то увидите, что после знакомства с представленным материалом, много разработчиков приняло решение о покупке нашего курса «Профессиональная разработка отчетов в 1С 8.3 на Системе Компоновки Данных (СКД)», что тоже является показателем применимости полученной информации;)
У клиента используется типовая 1С:Бухгалтерия. В учетной политике зафиксирован учет себестоимости по средней.
На свежие релизы бухгалтер обновляет базу самостоятельно, поэтому вносить изменения в конфигурацию крайне нежелательно .
Объем документооборота небольшой – 10-20 документов в день.
Весь товар поступает из-за границы – дополнительные расходы (ТЗР) связаны с таможенными операциями.
Клиенту нужно получать точную себестоимость партии “на текущий момент” – на основании данных о себестоимости партий руководство утверждает цены отгрузки.
При этом партионный учет включать недопустимо.
На первый взгляд решаемая задача требует доработки, потому что…
Однако можно добиться нужного функционала, не меняя конфигурации – без единой строчки кода .
В следующих 3 видео мы покажем один из вариантов решения этой задачи.
В видео проанализируем исходные данные демобазы 1С:Бухгалтерии 8.
Будут подобраны проводки бух. учета для получения нужной информации.
Поддержка – 2 месяца . Объем курса – 34 учебных часа .
Не откладывайте свое обучение!