1С дополнительные отчеты и обработки - как добавить дополнительные внешние отчеты в 1С 8.3
Меню

Дополнительные отчеты и обработки в 1С 8.3

Содержание статьи
  1. Пример разработки дополнительного отчета
  2. Подключение дополнительного внешнего отчета к конфигурации

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

Пример разработки дополнительного отчета

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

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

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


ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.1.3.1");

ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
ПараметрыРегистрации.Версия = "1.0";
ПараметрыРегистрации.БезопасныйРежим = Ложь;

НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = НСтр("ru = 'Лицевая Карточка Рабочего1'");
НоваяКоманда.Идентификатор = "ЛицеваяКарточкаРабочего";
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
НоваяКоманда.ПоказыватьОповещение = Истина;
Возврат ПараметрыРегистрации;

  • Вид – определение типа доработки. Может принимать значения «ЗаполнениеОбъекта», «ДополнительнаяОбработка», «СозданиеСвязанныхОбъектов», «ДополнительныйОтчет» и многие другие;
  • Назначение – задается в случае, если мы добавляем функционал к конкретному документу или справочнику. Указывается 1 или перечень объектов конфигурации, к которым предназначен новый функционал. В случае обычного отчета не прописывают;


МасНазначений = Новый Массив;
МасНазначений.Добавить("Справочник.ДоговорыКонтрагентов");
МасНазначений.Добавить("Документ.ПриобретениеТоваровУслуг");
МасНазначений.Добавить("Документ.ПриобретениеУслугПрочихАктивов");
МасНазначений.Добавить("Документ.ПриобретениеУслугПоЛизингу");
МасНазначений.Добавить("Документ.ЗаказПоставщику");
МасНазначений.Добавить("Документ.РеализацияУслугПрочихАктивов");
МасНазначений.Добавить("Документ.РеализацияТоваровУслуг");
МасНазначений.Добавить("Документ.АктВыполненныхРабот");

ПараметрыРегистрации.Назначение = МасНазначений;

  • Команды – таблица, содержащая все необходимые команды с определенным набором характеристик. Отвечает за кнопку, запускающую обработку или отчет;
  • БезопасныйРежим – принимает значения «Истина» или «Ложь», отвечает за безопасный режим запуска. Это специальный режим, когда для пользователя ограничиваются возможности. Если его включить, то в процессе работы отчета будут недоступны:
    • Привилегированный режим;
    • Библиотеки Dll;
    • COM-соединение;
    • Доступ к файлам и интернету.
  • Версия – данные строкового типа для поддержания версионирования дополнительного отчета или обработки. Вспомогательный параметр;
  • ВерсияБСП – иногда указывают для контроля совместимости механизма библиотеки стандартных подсистем. Зачастую не указывается;
  • Информация – комментарий, дающий определение дополнительному отчету или обработке. Вспомогательный параметр.


Функция СведенияОВнешнейОбработке() Экспорт
        	ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.1.3.1");
        	ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
        	ПараметрыРегистрации.Версия = "1.0";
        	ПараметрыРегистрации.БезопасныйРежим = Ложь;
        	
        	НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
        	НоваяКоманда.Представление = НСтр("ru = 'Лицевая Карточка Рабочего'");
        	НоваяКоманда.Идентификатор = "ЛицеваяКарточкаРабочего";
        	НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
        	НоваяКоманда.ПоказыватьОповещение = Истина;
        	Возврат ПараметрыРегистрации;        	
КонецФункции 

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

Основная схема компоновки данных
Основная схема компоновки данных

Откроется окно создания макета, нажмите «Готово» и в сформировавшемся окне настройки схемы вызовите контекстное меню на наборах данных.

Вызов контекстного меню
Вызов контекстного меню

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

Настройки
Настройки

С помощью конструктора настроек необходимо выбрать поля, которые будет видеть пользователь. Также он предложит указать и группировку.

Работа с конструктором настроек
Работа с конструктором настроек

Именно так устанавливается то, откуда брать данные, по каким критериям и каким образом их выводить. Остается лишь заполнить реквизит «Имя» нового внешнего отчета и сохранить файл на компьютере или на сетевом ресурсе. Обычно компании выделяют специальное место и называют его «Хранилище дополнительных отчетов и обработок» и сохраняют туда все подобные файлы.

Хранилище дополнительных отчетов и обработок
Хранилище дополнительных отчетов и обработок

Подключение дополнительного внешнего отчета к конфигурации

Чтобы подключить созданный дополнительный отчет в 1С, придется включить его в состав дополнительных отчетов и обработок. В большинстве типовых конфигураций этот перечень находится в разделе «НСИ и администрирование» - «Печатные формы, отчеты и обработки». Здесь расположена опция «Дополнительные обработки и отчеты». Обычно она включена, но может быть и отключенной, если не пользовались этим инструментом. При включении активизируется ссылка справа на нужный нам список внешних доработок системного функционала в виде обработок и отчетов.

Подключение дополнительного внешнего отчета к конфигурации
Подключение дополнительного внешнего отчета к конфигурации

При добавлении в данный перечень с помощью кнопки «Создать» 1С откроет форму дополнительной обработки и предложит выбрать файл. Для выбора доступны только файлы формата erf – внешние отчеты, и epf – обработки. При выборе 1С считывает информацию из экспортной функции «СведенияОВнешнейОбработки» и отражает информацию на форме.

Форма дополнительного отчета
Форма дополнительного отчета

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

Поиск отчета в выбранных разделах
Поиск отчета в выбранных разделах

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

Чтобы внести изменения в добавленную обработку или отчет, не потребуется завершать работу всех пользователей. Достаточно просто выгрузить внешнюю обработку на компьютер, внести изменения в нее через конфигуратор и загрузить обратно. Для этого в перечне дополнительных обработок существуют специальные кнопки «Выгрузить в файл…» и «Загрузить из файла…». Чтобы пользователи увидели изменения, достаточно закрыть и снова открыть объект – отчет, документ или справочник.

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


Рассказать друзьям
Предыдущая статья статья
Авизо в 1С 8.3
Следующая статья статья
Основные справочники 1С 8.3: создание и изменение элементов
Комментарии