• Отчет скд в 8.3. Создание простого отчета на скд

    06.12.2023
    • Различные способы формирования отчетов (вывод в табличный документ, построитель отчета, универсальный отчет, СКД)
    • Настройка отчетов в режиме «1С:Предприятие»
    • Инструменты отладки отчетов на СКД. Какой запрос на самом деле получает данные из базы?
    • Для чего нужно множество галочек в настройке полей компоновки
    • Как переопределить представление поля в отчете
    • Как получить корректные итоги в отчетах на СКД вне зависимости от того, какие поля выводятся в отчет?
    • Как вывести корректные остатки по документам-регистраторам?
    • Как, не установив всего несколько галочек, получить ошибочные итоги в отчете?
    • Как использовать собственные функции из общих модулей в отчете на СКД?
    • Как исключить некорректные сложения USD + EUR; Шт. + кг
    • Как создать несколько представлений (вариантов отчета) на основании одних и тех же данных
    • Какие возможности по выводу данных в графическом виде (диаграммы, графики, гистограммы) есть в СКД, а когда придется полученную диаграмму «доработать» программным кодом
    • Как без программирования организовать вывод данных по иерархии? И как организовано получение таких данных на низком уровне?
    • Как без программного кода вывести все даты за период, а не только те, на которые есть данные в отчете?
    • Как настроить отчет, где пользователь самостоятельно может выбирать требуемую периодичность (год, месяц, день)?
    • Как без программирования расположить на форме отчета «быстрые» настройки, которые нужны пользователю для формирования отчета?
    • Комбинирование отборов – И, Или, Не.
    • Как вывести заголовок поля вертикально, а сами значения – горизонтально.
    • Вывод в итогах только некоторых ресурсов
    • Отличия расчета итогов в запросах и СКД
    • Срез последних на каждую дату при помощи СКД
    • Работа с произвольными характеристиками объектов, которые пользователь создает в режиме «1С:Предприятие» в отчете на СКД
    • Использование вложенных схем – разработка нового отчета на базе существующих
    • Практические примеры использования сложно произносимых функций
      ВычислитьВыражениеСГруппировкойМассив,
      ВычислитьВыражениеСГруппировкойТаблицаЗначений и т.д.
      Для решения каких задач их можно применять?
    • Особенности работы с макетами в отчетах на СКД
    • При помощи ручного вывода данных в табличный документ можно реализовать сложные и комплексные отчеты. А как получить такой же отчет, но со всеми гибкими настройками СКД (произвольными отборами и т.д.)?
    • Как сформировать отчет программно? Как сформировать отчет с отбором по конкретному товару из списка номенклатуры?
    • Вывод сформированных данных не в отчет, а в таблицу значений
    • Программная работа с пользовательскими настройками
    • Как построить отчет по таблице, которая получается программно или загружается из внешней системы?
    • Реализация настраиваемого отбора не в отчетах – обработках, справочниках и т.д. Хранение произвольных отборов, введенных пользователями в режиме «1С:Предприятие»
    • Программная обработка расшифровки
    • Создание собственного меню для расшифровки отчета
    • Как реализовать переход из отчета на сайт двойным кликом в ячейке отчета?
    • Как вывести картинки в отчет? Как сформировать прайс-лист с изображениями товаров?
    • Как вывести логотип компании в отчете на СКД?
    • Какие возможности СКД можно использовать при отображении списков? Динамические списки
    • Как система обеспечивает быстрое отображение списков, в которых могут храниться десятки тысяч элементов?

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

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

      оборотно-сальдовая ведомость;

      оборотно-сальдовая ведомость по счету;

      анализ счета;

      карточка счета;

      обороты счета;

      анализ субконто.

    Функционал программы позволяет настроить форму отчета под нужды организации. К общим принципам работы с отчетами в 1С 8.3 относится анализ данных и своевременный контроль ошибок, которые могут возникнуть. Основным отчетом, которым часто пользуются бухгалтеры, является «Оборотно-сальдовая ведомость». Здесь отражаются все движения товаров и денежных средств в разрезе всех счетов учета, в том числе и забалансовых. Прямо из формы отчета, двойным нажатием на нужное значение суммы, предоставляется возможность получения дополнительной детальной информации по любому счету за указанный период:

    Каждый отчет можно настроить по своему усмотрению для удобства использования. Чтобы зайти в раздел настроек, нужно нажать «Показать настройки».

    Говорят, что под названием 1С изначально подразумевалась фраза «одна секунда», т.е. программы должны выдавать отчеты быстро, «в одну секунду». Скорость работы отчетов очень важна, но еще важнее, чтобы отчеты выдавали правильную информацию — разберемся с этим на примере создания простого отчета в 1С 8.3 на базе конфигурации Управление торговлей 10.3. Для создания корректных отчетов желательно (даже настоятельно рекомендуемо) уметь конфигурировать 1С и немного уметь программировать на внутреннем языке и языке запросов 1С, хотя, с другой стороны, создание отчетов — прекрасная возможность начать осваивать эти навыки.

    Данное описание является учебным для понимания основных принципов создания отчетов 1С

    Как создать отчет в 1С 8.3

    Чтобы создать отчет, необходимо открыть 1С в режиме конфигуратора, для этого в окошке запуска 1С выбираете нужную базу в списке и нажимаете кнопку Конфигуратор:

    В самом конфигураторе заходите в меню Файл и выбираете пункт Новый:


    В появившемся меню выбираете пункт Внешний отчет и нажимаете кнопку ОК:


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


    Как сделать отчет с помощью макета

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

    В окне отчета (которое открывается при создании отчета) в нижнем списке устанавливаете курсор на пункт Макеты и, при нажатии правой кнопкой мыши, в появившемся меню нажимаете Добавить:


    В открывшемся конструкторе макета можете задать имя макета, в качестве типа макета должен быть выбран Табличный документ, после чего нажимаете в конструкторе кнопку Готово:


    После чего откроется окно макета, напоминающее лист Excel:


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

    Сделаем отчет, выводящий перечень номенклатуры. Для этого создадим две области макета: шапка отчета и строка номенклатуры.

    Для создания области шапки левой кнопкой кликаем на заголовке строки (там, где номер строки указан), чтобы выделить строку вот так (должна быть выделена вся строка одним кликом на заголовке):


    После этого идем в меню Таблица главного меню, заходим в подменю Имена и кликаем на пункт Назначить имя:


    Программа предложит указать Имя области, имя также не должно содержать пробелов и спецсимволов, после этого нажимаем ОК, должно получиться так:


    Теперь в созданной области нужно ввести текст, который будет выводится в отчете и отформатировать его. Для этого в первую ячейку вводим текст, например «Перечень номенклатуры». Работа с ячейками похожа на Excel.

    Чтобы отформатировать текст в ячейке, нажимаем на ячейку правой кнопкой и кликаем на Свойства. Справа откроется окно свойств ячейки. Прокручивая содержимое окна вниз, найдите поле Шрифт и нажмите на кнопку «...»:


    В открывшемся окне в разделе Начертание устанавливаем галочку Жирный и нажимаем кнопку ОК:


    В макете должно получиться вот так:


    Таким же образом создаем область строки номенклатуры, только не выделяем жирным:


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


    Возвращаемся в главное окно отчета и в нижнем списке кликаем правой кнопкой на пункт Формы и нажимаем Добавить:


    В открывшемся конструкторе формы отчета нажимаем кнопку Готово, откроется форма отчета, кликаем два раза на кнопку Сформировать:


    В результате откроется окно свойств кнопки в правой части экрана, в поле Действие нажимаем на лупу:


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


    Сначала вставим вместо выделенного текста следующий текст программного кода:

    //создаем табличный документ, который будет наполняться частями отчета и выводиться на экран
    ТабДокумент = Новый ТабличныйДокумент;
    //далее, получаем макет, который создавали при создании отчета
    Макет = ПолучитьМакет("Макет");
    //теперь нужно вывести шапку отчета, дял этого получаем область шапки из макета и выводим ее в табличный документ
    ОбластьШапка = Макет.ПолучитьОбласть("Шапка");
    ТабДокумент.Вывести(ОбластьШапка);
    //с помощью запроса получаем выборку наименований номенклатуры, которые надо вывести в отчете
    Запрос = Новый Запрос;
    Запрос.Текст = "
    |ВЫБРАТЬ
    | Наименование
    |ИЗ
    | Справочник.Номенклатура
    |";
    //получить из макета область строки номенклатуры — будем обращаться к ней в цикле для вывода каждого наименования
    ОбластьСтрока = Макет.ПолучитьОбласть("Строка");
    //обрабатываем в цикле каждое наименование из полученной выборки
    Выборка = Запрос.Выполнить().Выбрать();
    Пока Выборка.Следующий() Цикл
    //для вывода очередной строки нужно указать очередное наименование в параметре области (сам параметр мы настраивали при создании макета)
    ОбластьСтрока.Параметры.Наименование = Выборка.Наименование;
    //параметр заполнили, теперь можно вывести строку
    ТабДокумент.Вывести(ОбластьСтрока);
    КонецЦикла;
    //табличный документ сформирован, теперь выводим его на экран
    ТабДокумент.Показать("Перечень номенклатуры«);

    Когда текст будет скопирован в модуль формы, то строки, начинающиеся с двойного слэша «//», будут выделены зеленым — это комментарии, в них описано, что выполняет каждая строчка кода:


    Резюмируем, какие строки программного кода необходимы для формирования отчета:

    1. Необходимо создать табличный документ, который будет наполняться частями отчета и выводится на экран, делается это строкой «ТабДокумент = Новый ТабличныйДокумент;»
    2. Нужно получить макет отчета, из него будем получать структуру отчета по частям (области), делается это строкой "Макет = ПолучитьМакет("Макет")"
    3. Для вывода каждой из областей нужно получить ее из макета и вывести в табличный документ, делается это строками "ОбластьШапка = Макет.ПолучитьОбласть("Шапка")" и «ТабДокумент.Вывести(ОбластьШапка)»
    4. Если требуется заполнить параметры, который становятся известны только при выполнении программы, то перед выводом области нужно заполнить такие параметры, делается это строкой «ОбластьСтрока.Параметры.Наименование = Выборка.Наименование»
    5. И лишь, когда табличный документ заполнен всеми нужными частями отчета, он выводится на экран, делается это строкой "ТабДокумент.Показать("Перечень номенклатуры")"

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


    Находим и открываем сохраненный файл отчета. В открывшейся форме нажимаем кнопку Сформировать:


    и получаем перечень номенклатуры:


    Это лишь один из способов создания отчетов в 1С. В следующих статьях разберем другие.

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

    Вот главная страница отчета:

    Вызывается данная страничка из конфигуратора в меню Файл – Новый – Внешний отчет.

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

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

    Например, заголовки колонок (галочка «Количество» на рисунке выше позволяет набрать любой текст заголовка для данного поля), можно задать формат вывода данных(см. Формат в строке Количество). Формат редактируется для любого вида данных – строк, дат, чисел.

    На закладке Ресурсы выбираем сами ресурсы и настраиваем вывод итогов для них:

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

    Получите 267 видеоуроков по 1С бесплатно:

    И, наконец, Настройки. Тут рисуется внешний вид отчета – колонки, строки, их положение относительно друг друга, группировки и т.д. Кнопочка «Открыть конструктор настроек» поможет выстроить строчки и колонки в нужном порядке. Кнопочка «Пользовательские настройки элемента» позволит вывести параметры в шапку отчета:

    Обратите внимание на колонку Период.ЧастиДат.НазваниеМесяца. Как же вывести название месяца в заголовок колонки? Вот тут и выводится.

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

    Еще одна важная закладка – Выбранные поля. Если она будет пустой, отчет не сформируется. Обычно заполняется автоматом по кнопке «Открыть конструктор настроек»:

    Собственно, вот все, что нужно из минимально необходимого. В результате будем иметь отчет следующего вида:

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

    Разберемся, как настроить отчеты, для чего они нужны, чем отличаются внешние отчеты от встроенных и чем отличаются отчеты от обработки.

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

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

    Рассмотрим основные методики создания отчетов

    Как сделать отчет в 1С с помощью макета

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

    Но в этом случае все пунктики, меню и прочие «бантики» придется прописывать вручную, что очень трудоёмко.

    Получите 267 видеоуроков по 1С бесплатно:

    Создание отчета с помощью конструктора выходной формы

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

    Конструктору указывается запрос и все необходимые параметры будущего отчета, а он, в свою очередь, генерирует модули и формы отчета. Механизм основан на объекте встроенного языка 1С 8.2 — ПостроительОтчетов .

    Создание отчета с помощью Универсального отчета

    Универсальный отчет имеет большой функционал, удобный интерфейс настроек, привычный пользователю:

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

    Это самый прогрессивный метод создания отчетов в 1С, рекомендованный и самой фирмой 1С. появилась в платформе 1С в версии 8.1.

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

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

    Чем отличаются внешние отчеты от встроенных

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

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

    Чем отчет отличается от обработки

    На самом деле — практически ничем. Главное различие — назначение использования объекта: отчеты нужны для отображения информации, а — для изменения информации.

    Основные различия в свойствах: в отчетах можно указать Основную схему компоновки данных (СКД) и указать настройки для сохранения параметров отчетов.

    Похожие статьи