Интернет. Железо. Программы. Обзоры. Операционные системы

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

Работа с программными продуктами, поставляемыми фирмой 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С требуется дополнительный функционал, который не содержится в типовом прикладном решении. Это может быть особая печатная форма документа, отчет, содержащий необходимые данные, заполнение справочников и документов по определенному алгоритму, ввод одних объектов на основании других и т.д. Для выполнения этих и многих других действий не требуется снимать конфигурацию с поддержки и лишаться автоматических обновлений, типовые прикладные решение позволяют решать подобные задачи с помощью внешних отчетов и обработок. Кроме того, внешние обработки можно запускать в базовых версиях, которые не предусматривают внесения изменений в конфигурацию прикладного решения.

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

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

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

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

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

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

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

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


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


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

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

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


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


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

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


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


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

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

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


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

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

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

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

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


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


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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие публикации