Добавление внешнего отчета в базу. Добавление внешнего отчета в базу Дополнительный отчет 1с 8.3 управляемые формы

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

Система компоновки данных 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). В окошке «Запрос» можно набрать самостоятельно, создать с помощью Конструктора запроса или загрузить из файла. Удобнее всего использовать конструктор запроса. Как работает конструктор, читайте .

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

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

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

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

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

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

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

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

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

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

Говорят, что под названием 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С. В следующих статьях разберем другие.

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

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

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

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

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

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

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

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


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

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


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

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


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


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

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


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


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


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


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


В продолжение темы:
Linux

Социальная сеть «Фотострана» многим не нравится своей навязчивостью, что также проявляется, когда пользователь желает удалить свой аккаунт. В самой сети есть подводные камни,...

Новые статьи
/
Популярные