Создать в 1С 8.3 отчет за считанные минуты можно с помощью СКД (система компоновки данных). Приведу пример такого отчета для конфигурации 1С:Бухгалтерия 3.0.
В нашем примере отчет показывает выпуск продукции и услуг в разрезе подразделений, номенклатурных групп и с разбивкой по месяцам.
Вот главная страница отчета:
Вызывается данная страничка из конфигуратора в меню Файл – Новый – Внешний отчет.
Сначала добавляем набор данных (НаборДанных1). В окошке «Запрос» можно набрать текст запроса самостоятельно, создать с помощью Конструктора запроса или загрузить из файла. Удобнее всего использовать конструктор запроса. Как работает конструктор, читайте здесь.
Все, что нужно, заполняется автоматически, но некоторые вещи стоит подправить.
Например, заголовки колонок (галочка «Количество» на рисунке выше позволяет набрать любой текст заголовка для данного поля), можно задать формат вывода данных(см. Формат в строке Количество). Формат редактируется для любого вида данных – строк, дат, чисел.
На закладке Ресурсы выбираем сами ресурсы и настраиваем вывод итогов для них:
Закладка Параметры содержит все, от чего меняется содержимое отчета (например, период, за который будут выбираться данные). Заполняется автоматически на основании параметров запроса (см. первую страничку). Галочками можно регулировать видимость, доступность этих параметров, задавать первоначальное значение и т.д:
Получите 267 видеоуроков по 1С бесплатно:
И, наконец, Настройки. Тут рисуется внешний вид отчета – колонки, строки, их положение относительно друг друга, группировки и т.д. Кнопочка «Открыть конструктор настроек» поможет выстроить строчки и колонки в нужном порядке. Кнопочка «Пользовательские настройки элемента» позволит вывести параметры в шапку отчета:
Обратите внимание на колонку Период.ЧастиДат.НазваниеМесяца. Как же вывести название месяца в заголовок колонки? Вот тут и выводится.
Кстати, именно такая настройка позволяет выводить данные сразу за несколько периодов в соседних колонках отчета:
Еще одна важная закладка – Выбранные поля. Если она будет пустой, отчет не сформируется. Обычно заполняется автоматом по кнопке «Открыть конструктор настроек»:
Собственно, вот все, что нужно из минимально необходимого. В результате будем иметь отчет следующего вида:
«Красивости» (заголовок, фон) настраиваются на закладках «Условное оформление», «Другие настройки».
Создание такого отчета занимает на порядок меньше времени, чем его описание. По ссылке можете скачать получившийся отчет для конфигурации 1С 8.3 Бухгалтерия 3.0.
Смотрите также видео по созданию таких отчетов:
Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):
К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.
Обучение программированию на 1С
Содержание
Создание простейшего внешнего отчёта на СКД
Система Компоновки Данных (СКД) 1С позволяет создавать программисту массу необходимых отчётов «на лету». Использование этой системы, в отличие от конструктора запроса и непосредственного написания кода отчёта, является явным преимуществом. В этой статье, я хочу показать, как эффективно создавать отчёты СКД в 1С, не затрачивая на это много времени.
Начнём с создания внешнего отчёта. В главном меню выбираем Файл ? Новый… В списке щёлкаем на «Внешний отчет».
В открывшемся окне указываем имя отчёта и синоним.
Затем в этом же окне отчёта щёлкаем на кнопку «Открыть схему компоновки данных». Откроется окно создания макета, где нам остаётся только нажать на кнопку «Готово».
В окне настройки СКД щёлкаем правой клавишей мыши на «Наборы данных» и выбираем пункт «Добавить наборы данных – запрос».
Появляется новый набор данных, где нужно прописать выборку данных из текущей информационной базы с помощью запроса. Для создания нового запроса нажимаем на кнопку «Конструктор запроса…» и создаём нужный нам запрос, где выбираем все необходимые для отчёта данные. Описание языка запросов приводится в статье «Язык запросов – быстро и легко! Конструктор запросов».
Предположим, мы решаем следующую несложную задачу. У нас есть регистр накопления «ПартииТоваровНаСкладах», он хранит информацию о партиях номенклатуры, которая находится в местах хранения (на соответствующих складах). Необходимо получить общее количество номенклатуры, которое находится на хранении у соответствующих организаций.
Для решения этой задачи в конструкторе запроса выбираем таблицу базы данных «ПартииТоваровНаСкладах.Остатки». Таблица «Остатки» является виртуальной и предназначена для получения среза на конкретную дату. Подробнее о регистрах накопления можно узнать из этой статьи: «Регистры накопления в 1С».
Следующим шагом из таблицы остатков выбираем нужные нам в задаче поля, соответственно это: «Номенклатура», «Организация» и «КоличествоОстаток».
Чтобы задать срез на конкретную дату, открываем параметры виртуальной таблицы. Выделяем выбранную нами таблицу в поле «Таблицы» и щёлкаем вверху на кнопку «Параметры виртуальной таблицы…». В окне параметров вводим параметр даты среза.
Всё, задача по построению запроса выполнена. Нажимаем на «ОК» в окне конструктора и переходим к построению структуры отчёта СКД в 1С.
Текст запроса при этом будет выглядеть так:
РегистрНакопления.ПартииТоваровНаСкладах.Остатки(&ДатаСреза, ) КАК ПартииТоваровНаСкладахОстатки
Чтобы указать отчёту СКД какие поля нужно суммировать для получения общих остатков номенклатуры, в окне настройки СКД переходим на вкладку «Ресурсы» и выбираем поле «КоличествоОстаток» для суммирования.
Далее на вкладке «Параметры» указываются значения параметров для запроса. Но здесь мы лишь уберём галочку напротив «ДатаСреза», чтобы значение этого параметра можно было задавать в пользовательском режиме 1С:Предприятие. В колонке «Ограничение доступности» ставим галочку в параметре «Период» и убираем в «ДатаСреза».
На вкладке «Настройки» задаём наконец структуру колонок будущего отчёта СКД. Для начала ставим галочку напротив параметра «Дата среза», чтобы этот параметр можно было использовать пользователю.
Затем в поле структуры отчёта СКД щёлкаем правой кнопкой мыши на элемент «Отчет» и выбираем пункт меню «Новая группировка…» (аналогично можно нажать клавишу Insert на клавиатуре).
Нам необходимо построить группировку отчёта вначале по организации, а затем разбить каждую организацию по номенклатурам и для каждой строки отобразить соответствующий остаток. Для этого в открывшемся окне группировки выбираем поле «Организация» и нажимаем «ОК».
Аналогично щёлкаем правой кнопкой по группировке «Организация» и добавляем группировку по полю «Номенклатура». В итоге получаем следующую структуру:
У элемента «Отчет» выбираем снизу вкладку «Выбранные поля» и перетаскиваем из левого поля ресурс «КоличествоОстаток» в список полей.
Закрываем окно настроек отчёта СКД в 1С. Отчёт готов для формирования в пользовательском режиме 1С:Предприятие. Для сохранения внешнего отчёта в главном меню выбираем Файл ? Сохранить как… В окне сохранения файла вводим название отчёта и нажимаем кнопку «Сохранить».
Теперь смотрим что получилось. Заходим в пользовательский режим 1С:Предприятие, в главном меню выбираем Файл ? Открыть…, выбираем наш созданный отчёт и щёлкаем кнопку «Открыть». Открывается стандартная для СКД форма отчёта 1С.
В форме самого отчётаперед формированием заполняем значения параметров. Для этого нажимаем на кнопку «Настройки…» и для отчёта устанавливаем значение параметра «Дата среза». Дата среза – это как раз та дата, на которую нужно получить остатки по номенклатуре. Нажимаем «ОК».
В форме отчёта нажимаем кнопку «Сформировать» и получаем готовый отчёт по остаткам с группировкой по организациям и номенклатуре. Отчёт можно свернуть-развернуть по разным организациям, сохранить в формате MSExcel, а также распечатать на принтере.
Войдите как ученик, чтобы получить доступ к материалам школы
Система компоновки данных 1С 8.3 для начинающих: первый отчёт на СКД
Автор уроков и преподаватель школы: Владимир Милькин
Если вы не читали введение к этому модулю — пожалуйста, прочтите его: ссылка.
Готовим рабочее место
Для выполнения уроков вам понадобится 1С 8.3 (не ниже 8.3.13.1644) .
Если у вас уже есть установленная 1С версии 8.3 — используйте её. Если нет — скачайте и установите учебную версию, которую фирма 1С выпускает специально для образовательных целей: ссылка на инструкцию по скачиванию и установке 1С.
На вашем рабочем столе должен появиться вот такой ярлык:
Для всех уроков из этого цикла мы будем использовать подготовленную мной базу данных "Гастроном". Она полностью совпадает с базой, которую мы использовали в четвёртом и пятом модулях школы при изучении запросов. Поэтому я рассчитываю, что вы знакомы с её справочниками и документами.
Если вы её удалили — скачайте заново по следующей ссылке, распакуйте и подключите в список баз.
Наконец, рабочее место настроено и сейчас мы вместе создадим наш первый отчёт при помощи системы компоновки данных. Он будет очень простым, чтобы продемонстрировать общие возможности системы компоновки данных (сокращенно СКД).
Ставим цель
Цель этого урока — создать отчёт, который в режиме пользователя выводит список клиентов со следующими полями:
- Имя Пол Любимый цвет клиента.
Отчёт должен быть внешним. Это значит, что он будет создан и настроен в конфигураторе, а затем сохранен в виде отдельного (внешнего) файла на компьютере.
Чтобы сформировать такой отчет в 1С пользователю нужно будет запустить базу в режиме пользователя, открыть этот файл и нажать кнопку "Сформировать".
Поехали!
Создаём отчёт
Запускаем конфигуратор для базы "Гастроном":
Из главного меню выбираем пункт "Файл"->"Новый. ":
Выбираем "Внешний отчет":
Создаём схему компоновки данных внутри отчёта
Открылось окно создания внешнего отчёта. В качестве имени вводим: "Урок1", а затем жмём кнопку "Открыть схему компоновки данных":
Запустился конструктор создания схемы. Соглашаемся с именем по умолчанию "ОсновнаяСхемаКомпоновкиДанных" и жмём кнопку "Готово":
Открылось основное рабочее окно, с множеством закладок и полей, в котором мы и будем настраивать нашу схему компоновки данных.
Не нужно пугаться — возможностей здесь действительно много, но далеко не все из них нам нужны. Особенно на первом уроке.
Сейчас мы находимся на закладке "Наборы данных". На ней и останемся.
Пишем запрос через конструктор
Система компоновки данных (сокращенно СКД) требует от нас данные, которые она будет выводить пользователю.
Самый простой способ — написать запрос к базе. В предыдущих модулях школы мы научились писать и понимать запросы — поэтому я рассчитываю, что вы обладаете соответствующими навыками.
Нажимаем на зелёный плюсик и в раскрывшемся списке выбираем пункт "Добавить набор данных — запрос":
Добавился набор данных с именем "НаборДанных1", но мы видим, что поле "Запрос" в нижней части окна пока пустое:
Наша задача написать в это поле текст запроса. Вы ещё не забыли как это делается?
В этом запросе мы выбрали три поля ("Наименование", "Пол" и "ЛюбимыйЦвет") из таблицы "Справочник.Клиенты".
Но не торопитесь писать этот текст в поле "Запрос" вручную.
Сейчас мы создадим тот же самый запрос визуально, только при помощи мышки. Этот способ называется "Конструктор запроса".
Чтобы вызвать этот конструктор нажмём кнопку "Конструктор запроса. " в верхней правой части поля "Запрос":
В открывшемся окне перетащим таблицу "Клиенты" из первого столбца во второй, чтобы указать, что именно из этой таблицы мы будем запрашивать данные:
Получилось вот так:
Далее раскроем таблицу "Клиенты" во втором столбце по знаку "Плюс", чтобы увидеть все её поля и перетащим поле "Наименование" из второго столбца в третий, чтобы указать, что из этой таблицы нам нужно запрашивать поле "Наименование":
Получилось вот так:
Поступим точно так же с полями "Пол" и "ЛюбимыйЦвет". Результат будет таким:
Нажмём кнопку "ОК", чтобы выйти из конструктора запроса и увидим, что текст запроса автоматически добавился в поле "Запрос".
Более того на основании текста запроса 1С сама вытащила имена полей (область выше запроса), которые будут использоваться схемой компоновки данных:
Теперь, когда мы составили запрос, СКД знает каким образом получать данные для отчёта.
Настраиваем представление данных
Осталось как-то визуализировать эти данные для пользователя в виде печатной формы. И вот тут СКД может творить чудеса!
Чтобы сотворить такое чудо перейдём на вкладку "Настройки" и нажмём кнопку конструктора настроек (волшебная палочка):
В открывшемся окне укажем тип отчёта "Список" и нажмём "Далее":
В следующем окне выберем (путём перетаскивания) поля, которые нужно будет отобразить в списке (перетащим все из доступных нам: "ЛюбимыйЦвет", "Наименование" и "Пол"):
Получим вот такой результат и нажмём кнопку "ОК":
Конструктор настроек закрылся и появился пункт "Детальные записи":
Отчёт готов, давайте же его проверим. Для этого вначале сохраним отчет в виде внешнего файла.
Сохраняем отчёт в виде файла
Откроем пункт главного меню "Файл"->"Сохранить":
Я сохраню его на рабочий стол под именем "Урок1":
Проверяем отчёт в режиме пользователя
Наконец, закроем конфигуратор и зайдём в нашу базу в режиме пользователя:
Имя пользователя "Администратор", пароля нет:
Через меню выберем пункт "Файл"->"Открыть. ":
И укажем файл отчёта (я сохранял его на рабочий стол под именем "Урок1.erf":
Открылась форма отчёта, нажмём кнопку "Сформировать":
Готово! Вот она наша печатная форма со списком клиентов, их любимым цветом и полом:
Печатную форму можно легко распечатать. Для этого достаточно выбрать в меню пункт "Файл"->"Печать. ":
Вот так просто, без программирования нам удалось создать полноценный отчёт, который пользователи смогут открывать в своих базах, формировать и распечатывать.
То ли ещё будет, наберитесь терпения
Войдите на сайт как ученик
Авторизуйтесь, чтобы получить доступ ко всем материалам школы
Прибегайте к изучению эталонного варианта только после самостоятельного выполнения всех шагов.
На вопросы учеников — отвечаю по почте, но прежде загляните в ЧАВО (ссылка) .
Войдите как ученик, чтобы получить доступ к материалам школы
№1: первый отчёт на СКД
№4: меняем оформление
№5: делаем отбор и сортировку на уровне СКД