Добавление внешнего отчета в базу. Добавление внешнего отчета в базу Внешние отчеты в 1с

Войдите на сайт как ученик

Система компоновки данных 1С 8.3 для начинающих: первый отчёт на СКД

Если вы не читали введение к этому модулю - пожалуйста, прочтите его: .

Для выполнения уроков вам понадобится 1С 8.3 (не ниже 8.3.13.1644 ) .

Если у вас уже есть установленная 1С версии 8.3 - используйте её. Если нет - скачайте и установите учебную версию, которую фирма 1С выпускает специально для образовательных целей: .

На вашем рабочем столе должен появиться вот такой ярлык:

Для всех уроков из этого цикла мы будем использовать подготовленную мной базу данных "Гастроном". Она полностью совпадает с базой, которую мы использовали в и модулях школы при изучении запросов. Поэтому я рассчитываю, что вы знакомы с её справочниками и документами.

Если вы её удалили - скачайте заново по следующей , распакуйте и в список баз.

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

Ставим цель

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

  • Имя
  • Пол
  • Любимый цвет клиента.

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

Чтобы сформировать такой отчет в 1С пользователю нужно будет запустить базу в режиме пользователя, открыть этот файл и нажать кнопку "Сформировать".

Поехали!

Создаём отчёт

Запускаем конфигуратор для базы "Гастроном":

Из главного меню выбираем пункт "Файл"->"Новый...":

Выбираем "Внешний отчет":

Создаём схему компоновки данных внутри отчёта

Открылось окно создания внешнего отчёта. В качестве имени вводим: "Урок1 ", а затем жмём кнопку "Открыть схему компоновки данных ":

Запустился конструктор создания схемы. Соглашаемся с именем по умолчанию "ОсновнаяСхемаКомпоновкиДанных " и жмём кнопку "Готово ":

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

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

Сейчас мы находимся на закладке "Наборы данных ". На ней и останемся.

Пишем запрос через конструктор

Система компоновки данных (сокращенно СКД) требует от нас данные, которые она будет выводить пользователю.

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

Нажимаем на зелёный плюсик и в раскрывшемся списке выбираем пункт "Добавить набор данных - запрос ":

Наша задача написать в это поле текст запроса. Вы ещё не забыли как это делается?

Я вам подскажу:

В этом запросе мы выбрали три поля ("Наименование ", "Пол " и "ЛюбимыйЦвет ") из таблицы "Справочник.Клиенты ".

Но не торопитесь писать этот текст в поле "Запрос" вручную.

Сейчас мы создадим тот же самый запрос визуально, только при помощи мышки. Этот способ называется "Конструктор запроса ".

Чтобы вызвать этот конструктор нажмём кнопку "Конструктор запроса... " в верхней правой части поля "Запрос":

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

Получилось вот так:

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

Получилось вот так:

Поступим точно так же с полями "Пол " и "ЛюбимыйЦвет ". Результат будет таким:

Нажмём кнопку "ОК", чтобы выйти из конструктора запроса и увидим, что текст запроса автоматически добавился в поле "Запрос".

Более того на основании текста запроса 1С сама вытащила имена полей (область выше запроса), которые будут использоваться схемой компоновки данных:

Теперь, когда мы составили запрос, СКД знает каким образом получать данные для отчёта.

Настраиваем представление данных

Осталось как-то визуализировать эти данные для пользователя в виде печатной формы. И вот тут СКД может творить чудеса!

Чтобы сотворить такое чудо перейдём на вкладку "Настройки " и нажмём кнопку конструктора настроек (волшебная палочка ):

В открывшемся окне укажем тип отчёта "Список" и нажмём "Далее ":

В следующем окне выберем (путём перетаскивания) поля, которые нужно будет отобразить в списке (перетащим все из доступных нам: "ЛюбимыйЦвет ", "Наименование " и "Пол "):

Получим вот такой результат и нажмём кнопку "ОК ":

Конструктор настроек закрылся и появился пункт "Детальные записи ":

Отчёт готов, давайте же его проверим. Для этого вначале сохраним отчет в виде внешнего файла.

Сохраняем отчёт в виде файла

Откроем пункт главного меню "Файл "->"Сохранить ":

Я сохраню его на рабочий стол под именем "Урок1 ":

Проверяем отчёт в режиме пользователя

Наконец, закроем конфигуратор и зайдём в нашу базу в режиме пользователя:

Имя пользователя "Администратор", пароля нет:

Через меню выберем пункт "Файл "->"Открыть ...":

И укажем файл отчёта (я сохранял его на рабочий стол под именем "Урок1.erf":

Открылась форма отчёта, нажмём кнопку "Сформировать ":

Готово! Вот она наша печатная форма со списком клиентов, их любимым цветом и полом:

Печатную форму можно легко распечатать. Для этого достаточно выбрать в меню пункт "Файл "->"Печать... ":

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

учеников - отвечаю по почте, но прежде загляните в .

Войдите на сайт как ученик

Войдите как ученик, чтобы получить доступ к материалам школы

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

Отчеты и обработки

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

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

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

Физически рассматриваемые в статье объекты от внешней обработки различаются расширением файла:

  1. Внешняя обработка – epf;
  2. Внешний отчет – erf.

Внешние и встроенные отчеты

Если внимательно посмотреть на дерево любой конфигурации в 1С, можно заметить, что там также есть ветка отчетов (Рис. 1)

Различий между внешними и внутренними обработчиками практически никаких нет. Более того, любой ert файл можно встроить в конфигурацию и наоборот, встроенный механизм можно выгрузить во внешний ресурс. К примеру, если мы захотим внести изменения в стандартный обработчик «АнализВзносовВФонды», мы должны вызвать контекстное меню соответствующего объекта и выбрать подменю «Сохранить как внешнюю…» (Рис. 2)

Рис. 2

Обратное действие вызывается подменю «Заменить на внешнюю», но для этого конфигурация должна быть открыта для изменения.

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

Создание внешнего отчета

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

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

  1. Использовать механизм системы компоновки данных (СКД);
  2. Программно заполнить табличный документ, используя заранее подготовленный макет.

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

Но, независимо от выбранного механизма, начинать надо из меню «Файл», подменю «Новый». Перед разработчиком открывается меню выбора создаваемого объекта (Рис. 3).

Рис. 3

Рис. 4

Здесь мы видим:

  • Имя, которое максимально точно резюмирует назначение объекта;
  • Синоним и комментарий – предназначены для полного описания;
  • Основная схема компоновки – здесь можно задать схему, которая будет использоваться для вывода отчета на печать;
  • Кнопка «Открыть схему…» открывает конструктор результата обработки;
  • Окно описания форм, реквизитов и макетов.

По кнопке «Действия» можно открыть модуль создаваемого объекта.

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

Использование СКД для создания отчета значительно упрощает работу разработчика:

  1. Не надо продумывать и создавать форму объекта;
  2. Отборы, группировки, колонки выводимой формы можно динамически менять в пользовательском режиме;
  3. Есть возможность создания и хранения нескольких вариантов формирования итоговой таблицы.

Именно поэтому в современных решениях схема компоновки данных пользуется все большей популярностью. Если нажать соответствующую кнопку, перед разработчиком открывается конструктор СКД. (Рис. 5)

Рис.
5

Хранится схема в макетах объекта.

Кроме внутренних и встроенных отчетов, существует еще одна возможность хранения и обращения к этим объектам – справочник «Дополнительные обработки».

Регистрация внешних объектов в базе данных

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

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

Для этого в модуле обработчика должна быть определена экспортная функция СведенияОВнешнейОбработке. (Рис. 6)

Рис. 6

На Рис.6 приведен приблизительный набор команд, который позволит зарегистрировать файл в справочнике.

Кроме функцию со сведениями здесь представлены: еще одна процедура (ДобавитьКоманду) и функция (ПолучитьТаблицуКоманд). Их содержание показано на Рис. 7

Рис. 7

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В верхнем меню заходим в Сервис ->->.

После этого появится форма списка справочника. В верхнем меню нажимаем Добавить .

Появилось окно добавления нового отчета. Нажимаем кнопку Открыть .

Выбираем файл с нужным отчетом и нажимаем Открыть . После добавления файла при необходимости меняем наименование отчета (то как он будет отображаться в списке). Нажимаем ОК .

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

После этого отчетом можно пользоваться, добавление завершено. Чтобы потом открыть этот отчет, также заходим в Сервис ->Дополнительные отчеты и обработки ->Дополнительные внешние отчеты .

Для БП 3.0, ЗУП 3.0, УТ 11, ERP 2.0.

Для добавление внешнего отчета в конфигурациях 1С:Предприятие 8.3 в управляемом интерфейсе (на примере Бухгалтерии 3.0) войдем в соответствующий раздел программы:


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

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


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

Теперь необходимо настроить размещение (то место программы, где будет доступен отчет):


Произвольно выбираем из списка нужный раздел программы:


Теперь необходимо записать изменения в карточке внешнего отчета:

Теперь открываем отчет из интерфейса программы:


Список пока пустой, нажимаем Настроить список :


В форме подбора отмечаем галочкой наш отчет:


Теперь он появился в списке:


По кнопке Выполнить открывается форма отчета:


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

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

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

По виду запуска прикладные решения делятся на две группы: построенные на базе обычного или управляемого приложения. К первой группе относятся «Бухгалтерия 2.х», «Управление торговлей 10.х», «Розница 1.х» и т.д. Ко второй группе относятся «Бухгалтерия 3.х», «Управление торговлей 11.х», «Розница 2.х», «Управление нашей фирмой» и т.д. Прикладные решения, построенные на базе обычного приложения, являются устаревшими, но все еще широко используются пользователями.

В данной статье рассмотрим использование внешних отчетов и обработок в обычном интерфейсе на примере типового прикладного решения «1С:Управление торговлей 10.3».

В обычном интерфейсе внешние отчеты и обработки подключаются через главное меню «Сервис» - «Внешние печатные формы и обработки».

Система позволяет использовать внешние отчеты и обработки четырех видов:

  1. Внешние отчеты

Внешние печатные формы - формирует печатные формы справочников и документов, не предусмотренные в типовом прикладном решении.


При добавлении или редактировании дополнительной печатной формы открывается карточка внешней обработки.


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

  • Представление объекта - объект, к которому прикрепляется внешняя печатная форма (справочник или документ). При нажатии кнопки выбора открывается форма выбора принадлежности печатной формы.

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


  • Файл печатной формы - позволяет выбирать для каждого объекта принадлежности отдельный файл внешней печатной формы, т.е. это могут быть абсолютно разные по реализации обработки, но одинаковые по смыслу.
  • Заменяемая печатная форма - позволяет выбрать типовую печатную форму объекта, которую заменит новая внешняя печатная форма. Это необходимо, чтобы пользователи не путались в случаях, когда вместо типовой формы разработана новая внешняя.
  • Параметры обработки - дополнительные параметры, передаваемые в функцию печати. Практически не актуально для внешних печатных форм. Параметры могут принимать значения только простых типов (число, строка, дата, булево).


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

В нашем примере для документа «Счет на оплату покупателю» внешняя печатная форма заменяет типовую с отбором по контрагенту.


Для документа «Реализация товаров и услуг»:


Внешние обработки заполнения табличных частей

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

При добавлении или редактировании обработки по заполнению табличных частей открывается карточка внешней обработки. Она отличается от карточки внешней печатной формы.


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

Таблица содержит следующие колонки:

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

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

В нашем примере добавляется кнопка «Заполнить по остаткам» в табличную часть «Товары» документа «Приходный ордер на товары».


Внешние обработки - осуществляют обработку данных по произвольному алгоритму.


При добавлении или редактировании внешней обработки открывается ее карточка.


В карточке необходимо указать наименование обработки, комментарий и выбрать файл внешней обработки. Табличная часть «Принадлежность» для внешней обработки не активна.

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

Внешние отчеты

Внешние отчеты - выводят данные, получение которых не предусмотрено в типовом прикладном решении.


В карточке необходимо указать наименование отчета, комментарий и выбрать файл внешнего отчета. Табличная часть «Принадлежность» для внешнего отчета не активна.

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

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

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