1с ут отчеты и обработки
На уровне различия в структуре метаданных в отчётах дополнительно можно указать основную Схему Компоновки Данных (СКД) и настройки для сохранения параметров. Также здесь есть используемый в текущий момент компоновщик настроек. В обработках данные структуры не используются.
Указание в отчётах основной СКД является полезной функцией, т.к. при этом можно создать требуемый отчёт, не написав ни единой строчки кода в самом модуле отчёта, что ускоряет разработку и понимание принципов функционирования СКД для новичков.
Внешние отчёты и обработки 1C
В режиме конфигуратора 1С есть возможность создавать не только объекты внутри конфигурации (в дереве метаданных), но и создавать внешние объекты в виде отдельных файлов. Это касается, в том числе, отчётов и обработок. Преимуществом внешних объектов в том, что новые объекты не требуется каждый раз включать в состав конфигурации и, соответственно, обновлять при этом всю информационную базу 1С. Вместо этого можно использовать любые необходимые отчёты и обработки и изменять их без внесения изменений в метаданные базы 1С.
Внешние отчёты/обработки сохраняются в отдельные файлы и имеют следующие расширения:
- Внешний отчёт – *.erf
- Внешняя обработка – *.epf
Пример создания внешней обработки 1С
Создавать внешние объекты довольно просто. Функционал, закладываемый разработчиком в конкретную реализацию отчёта или обработки в 1С 8.3 или 8.2, индивидуален и зависит от решаемой задачи.
1. Выбираем информационную базу из списка, заходим в режим конфигуратора 1С.
2. В конфигураторе выбираем пункт меню Файл – Новый…
3. Выбираем из списка вид объекта – Внешняя обработка.
4. Задаём имя обработки. В данном случае имя нашей обработки будет «ПримерВнешнейОбработки».
5. Определяем структуру данных обработки. По условию нашей задачи в структуру реквизитов нужно добавить строковое поле «Вывести».
6. Создаём пользовательскую форму. Тип формы: Обычная.
7. Правой клавишей мыши вызываем контекстное меню. Определяем обработчик нажатия на кнопку «Выполнить».
8. Прописываем код обработки.
9. Сохраняем нашу обработку на диск. Заходим в режим предприятия 1С.
10. Выбираем пункт меню Файл – Открыть…
11. Выбираем созданную нами обработку и нажимаем «Открыть».
Созданную обработку можно скачать по ссылке ниже.
Дополнительные отчёты и обработки
В конфигурациях 1С существуют также подключаемые внешние отчёты и обработки. Чтобы включить в информационную базу 1С соответствующую обработку/отчёт нужно выполнить ряд действий:
1. Зайти в конфигурацию в режиме предприятия 1С
2. В главном меню выбрать Сервис – Дополнительные отчеты и обработки – Дополнительные внешние обработки
3. Открылся список внешних обработок, загруженных в информационную базу 1С. Нажимаем кнопку «Добавить».
4. Загружаем файл обработки.
5. Запускаем обработку двойным кликом мышки, чтобы проверить её работоспособность.
С помощью данного механизма дополнительных обработок можно также изменять стандартные печатные формы на собственные и добавлять новые. Любой пользователь, таким образом, может расширить функционал типовой конфигурации 1С.
В этой статье мы рассмотрели создание и использование внешних отчётов и обработок. Создание внешних обработок в режиме управляемого приложения более подробно будет рассмотрено в следующей статье.
В данной инструкции мы рассмотрим загрузку цен с помощью внешней обработки.
Для начала необходимо убедиться, что открытие внешних файлов доступно для нашего пользователя. Для этого перейдем в НСИ и администрирование – Настройка пользователей и прав:
В списке выбираем нужного и переходим в его карточку, а далее нажимаем на гиперссылку Права доступа:
В данном случае у нас добавлено нужное право открытие внешних отчетов и обработок:
Если в списке данного права нет, тогда нажимаем на кнопку включить в группу и выбираем нужное:
Теперь переходим к загрузке номенклатуры, переходим в CRM и маркетинг – Цены (прайс-лист):
В левом нижнем углу будет гиперссылка История изменения цен, переходим по ней:
Теперь нажимаем Создать и сохраняем данный документ.
Далее открываем меню в верхнем правом углу, выбираем Файл – Открыть:
Теперь в папке выбираем обработку загрузка данных из табличного документа:
После открытия обработки необходимо указать куда и что мы будем загружать, в нашем случае мы будем загружать табличную часть в документ установка цен номенклатуры и указываем сам документ:
Когда указываем ссылку, то выбираем в списке нужное наименование документов, а потом выбираем сам документ.
Теперь нужно установить настройки для загрузки, перейдем на вкладку настройка:
Снимаем все галки и устанавливаем нужные:
ВАЖНО – если загружаем не один вид цены, а несколько то оставляем режим загрузки - искать. Тоже самое касается характеристик, мы просто ставим галку и в табличный документ будем загружать наименование характеристики.
Возвращаем на вкладку табличный документ и нажимаем Обновить:
Теперь будем заполнять табличную часть, для это откроем нужный нам файл от куда мы будем брать данные, копируем из файла первый столбец номенклатура/наименование.
Переходим в программу и наводим мышку на первую колонку и вторую строчки, нажимаем специальная вставка - ОК:
По такому же принципе заполняем остальные колонки (если вид цен установлен в настройках, то колонку заполнять не нужно).
После заполнения нажимаем на кнопку Контроль заполнения:
Продолжаем разбирать технологию разработки внешних отчетов и обработок. Данная технология очень широко используется, много статей и примеров, но, лично мне, не хватает простого и удобного классификатора с примерами, чтобы быстро сверстать собственную обработку или отчет.
Я вот, например, постоянно ищу и копирую подходящие собственные обработки, чтобы создать новую. Иной раз долго копаюсь, чтобы найти нужный шаблон. И вот чтобы поменьше искать — выкладываю — для себя, в том числе.
Кому интересно немного теории и ознакомиться с моим стандартом — переходите по ссылке, остальных томить не буду, переходим к делу и собственно шаблонам:
Вид обработки и Тип команды
Поведение внешних отчетов и обработок, главным образом, определяется Видом обработки и Типом команды (описание).
Виды обработок
Главным параметром, определяющим вид обработки является «Вид». Их немного, остановимся кратко на каждом:
Дополнительная обработка
Обработка произвольного вида. Привязывается к выбранному разделу главного меню и вызывается из меню «Сервис» => «Дополнительные обработки». Классический пример — обработка с открытием формы.
Заполнение объекта
Дополнительная обработка специального вида «Заполнение объекта». Предназначена для обработки данных документа или другого объекта (но далеко не всех!). При регистрации обработки на форме появляется невидимая до сих пор кнопка «Заполнение»
Подробно разобраны для типов команды «ТипКомандыОткрытиеФормы» и «ТипКомандыВызовКлиентскогоМетода»:
Пример самой функции (ТипКомандыОткрытиеФормы):
Печатная форма
Самый частый для разработки вид внешних обработок. Предназначена для формирования печатных форм одного или нескольких объектов (документов, справочников). При регистрации печатной формы документа появляется пункт в меню «Печать» форм списков и формы документа.
Создание связанных объектов
Пока нет примера
Пока нет примера
Дополнительный отчет
Предназначен для добавления произвольного отчета. Можно назначить в один или несколько подсистем (Продажи, Закупки и т.д.). Шаблон ниже:
Отчет
Для дополнительных контекстных отчетов. Встраиваются в списки справочников и документов для вызова по кнопке «Отчеты».
Необходимо обратить внимание на передачу параметров и автоформирование отчета:
- «ОпределитьНастройкиФормы» в СведенияОВнешнейОбработке — обязательно установить флаг Истина
- Доп процедура ОпределитьНастройкиФормы
- Доп процедура ПриСозданииНаСервере
Немного теории и описание моего стандарта функции СведенияОВнешнейОбработке
«Программа позволяет подключать и использовать дополнительные (внешние) отчеты и обработки в режиме 1С:Предприятия. Они расширяют возможности программы и могут использоваться для упрощения работы и оперативной доработки под особенности учета в организации. В отличие от стандартных средств доработки конфигурации, дополнительные отчеты и обработки подключаются без изменения конфигурации поставщика и не замедляют обновление программы (также остается возможность обновлять программу в автоматическом режиме). » — Подробнее на сайте 1С…
Внешний отчет / обработка должен содержать в модуле обработки экспортную функцию СведенияОВнешнейОбработке без параметров. Функция должна возвращать Структуру с определенным обязательным набором параметров. Разберем функцию по строкам
- Для инициализации параметров структуры, которую будем заполнять и затем возвращать я использую стандартную функцию ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(«ВерсияБСП»)
- ВерсиюБСП я тоже предпочитаю получать ту, которая используется в конфигурации.
ВерсияБСП = СтандартныеПодсистемыСервер.ВерсияБиблиотеки()
Стоит заметить, что есть теоретическая вероятность, что в результате изменений версий БСП после обновления конфигурации и изменения версии библиотеки ваш код перестанет работать и, с этой точки зрения, безопаснее использовать ту версию, которую вы использовали на момент отладки. - ПараметрыРегистрации.Вид, с видом все понятно, см. выше
- ПараметрыРегистрации.БезопасныйРежим — всегда выставляю = Истина. Однако, надо быть готовым к тому, чтобы прописать нужные разрешения
- ПараметрыРегистрации.Наименование — ставлю = Метаданные().Синоним, т.к. при правильно названной обработке — код получается универсальным (см скрин выше)
- ПараметрыРегистрации.Версия = Метаданные().Комментарий, мне лично версии удобнее поддерживать в метаданных обработки, чем в коде. Опять-таки, код универсален
- ПараметрыРегистрации. Назначение. Это должен быть массив с перечислением идентификаторов метаданных. Актуально для объектов, к которым привязывается обработка (к примеру, к печатным формам). По примеру должно быть все ясно.
- Добавление разрешений — это опять-таки см п4 и разрешения
- Нужно создать одну или несколько Команд. Поэтому пишем НоваяКоманда = ПараметрыРегистрации.Команды.Добавить(), где ПараметрыРегистрации.Команды — это Таблица значений с колонками:
- ЗаменяемыеКоманды
- Идентификатор
- Использование
- Модификатор
- ПоказыватьОповещение
- Представление
- Скрыть
- НоваяКоманда.Представление = Метаданные().Синоним — чтобы не придумывать другое имя команды и для универсальности кода. В некоторых случаях бывает целесообразно заменить на другое (например, если команд — несколько)
- НоваяКоманда.Идентификатор = Метаданные().Имя — аналогично с п10, чтобы не придумывать другой идентификатор команды и для универсальности кода. В некоторых случаях бывает целесообразно заменить на другое (например, если команд — несколько)
- НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода()
или другая из 7 вариантов, описанных ниже
Типы команд
ПараметрыРегистрации.Команды — это Таблица значений с колонками:
- Идентификатор
- Представление
- Использование
- Модификатор
- ПоказыватьОповещение
- ЗаменяемыеКоманды
- Скрыть
Самое важное значение — «Использование» — может принимать несколько значений для исполнения разных назначений:
- ТипКомандыВызовСерверногоМетода
- ТипКомандыВызовКлиентскогоМетода
- ТипКомандыЗагрузкаДанныхИзФайла.
- ТипКомандыЗаполнениеФормы
- ТипКомандыОткрытиеФормы
- ТипКомандыСценарийВБезопасномРежиме
С типами команд надо бы тему раскрыть, но как-нибудь в другой раз…
На этом пока все, тема не закрыта, эту статью, вероятно, буду подправлять, т.к. будет как справочник
В верхем меню заходим Сервис->Дополнительные отчеты и обработки->Дополнительные внешние обработки.
Появляется форма списка справочника внешних обработок. В верхнем меню нажимаем кнопку Добавить.
Появится форма добавление нового объект. Нажимаем но кнопку открыть, и выбираем файл с нужной обработкой. После того как вы выбрали нужный файл, при необходимости, задайте имя обработки(поле Наименование). После этого нужно нажать ОК, чтобы сохранить сделанные изменения.
После этого окно создания элемента справочника закрывается, и вы попадаете обратно на форму списка, в которой уже присутствует новая обработка.
На этом все! Процесс добавления обработки в конфигурацию завершен. Чтобы впоследствии открывать эту обработку, заходите по старому пути: Сервис->Дополнительные отчеты и обработки->Дополнительные внешние обработки.
Для БП 3.0, ЗУП 3.0, УТ 11, ERP 2.0.
Внешние обработки для 1С:Предприятие 8 бывают нескольких видов. В данной инструкции я покажу, как прикреплять обработки по групповой модификации и обработки по заполнению конкретных объектов.
Для первого случая добавим обработку по заполнению справочника номенклатуры из Эксель.
Переходим в соответствующий раздел программы:
Необходимо, чтобы был установлен признак использования дополнительных отчетов и обработок, переходим по гиперссылке в список внешних объектов:
В списке нажимаем Создать:
В открывшемся диалоговом окне выбираем нужный файл с обработкой:
Заполнилась карточка нового внешнего объекта в программе, осталось только настроить размещение (разделы программы, из которых будет доступна обработка):
В качестве размещения выбираем произвольный раздел (или несколько):
Записываем и закрываем карточку внешнего объекта:
Теперь откроем обработку из интерфейса:
Список пустой, нажимаем Настроить список:
Выбираем нашу обработку:
Теперь она доступна для выбора. Чтобы открыть обработку, нужно нажать Выполнить:
Теперь посмотрим, как добавляется обработка по заполнению (модификации) конкретных объектов. Для примера возьмем внешнюю обработку, которая прикрепляет сканы к выбранным элементам справочников или документам системы. Начало добавления такой обработки не отличается от предыдущего варианта. Различие в том, что в данном случае размещение заполняется автоматически (и не разделом программы, а типами объектов базы):
При желании список размещения можно скорректировать (не добавить дополнительное размещение, а убрать лишнее):
Для принятия изменения карточку внешнего объекта также нужно записать.
Для того, чтобы воспользоваться обработкой, необходимо зайти в конкретный объект базы (из списка размещения), нажать пункт Заполнить в командной панели и выбрать команду:
Вас может заинтересовать
Обработка не только загружает номенклатуру, номенклатуру поставщика, характеристики, штрихкоды, дополнительные реквизиты из внешних табличных файлов, но и подтягивает картинки, а также умеет выгружать данные из базы.
Универсальное расширение для 1С, позволяет для каждого пользователя выбрать приятную цветовую схему интерфейса из предложенных вариантов
В данной статье пойдет речь об основных составляющих программного продукта 1С: платформе и конфигурации
Возможность добавления отчетов и обработок в типовую конфигурацию 1С без изменения ее структуры реализована через встроенный механизм БСП. Каждая типовая база от 1С, написанная на управляемых формах, содержит в себе данный механизм. Это позволяет добавлять собственный функционал, не переживая за сохранение целостности структуры ИБ, что будет особенно ценно, если используется сложная конфигурация. Добавление дополнительных отчетов и обработок пригодиться не только начинающим программистам, но из-за возможности значительно повысить скорость также заинтересует и опытных разработчиков.
Пример разработки дополнительного отчета
Чаще всего разработчикам приходится создавать отчеты, так как это наиболее удобный для пользователя способ получать информацию о положении дел в системе. Наряду с этим, требования к отчетам меняются, поэтому внести изменения в дополнительный отчет намного проще, чем во включенный в конфигурацию. Существенным отличием дополнительных отчетов является их хранение в отдельном файле и специальная функция «СведенияОВнешнейОбработке», расположенная в модуле объекта. Именно в ней мы и прописываем все данные, чтобы система 1С распознала, что это за файл и добавила нужный функционал.
Чтобы создать эту функцию, необходимо открыть режим конфигуратора и через основное меню «Файл» - «Новый…», создать внешний отчет. Открыть модуль объекта и добавить функцию «СведенияОВнешнейОбработке» с отметкой «Экспорт». В каждом дополнительном внешнем отчете в 1С 8.3 эта экспортная функция должна возвращать структуру с определенными ключами и значениями:
Рис.1 Внешний отчет
- Вид – определение типа доработки. Может принимать значения «ЗаполнениеОбъекта», «ДополнительнаяОбработка», «СозданиеСвязанныхОбъектов», «ДополнительныйОтчет» и многие другие;
- Назначение – задается в случае, если мы добавляем функционал к конкретному документу или справочнику. Указывается 1 или перечень объектов конфигурации, к которым предназначен новый функционал. В случае обычного отчета не прописывают;
- Команды – таблица, содержащая все необходимые команды с определенным набором характеристик. Отвечает за кнопку, запускающую обработку или отчет;
- БезопасныйРежим – принимает значения «Истина» или «Ложь», отвечает за безопасный режим запуска. Это специальный режим, когда для пользователя ограничиваются возможности. Если его включить, то в процессе работы отчета будут недоступны:
- Привилегированный режим;
- Библиотеки Dll;
- COM-соединение;
- Доступ к файлам и интернету.
После того, как функция написана, во внешний отчет нужно добавить основную схему компоновки данных. Для этого во внешней обработке нажмите на лупу, расположенную в поле «Основная схема компоновки данных».
Рис.2 Основная схема компоновки данных
Откроется окно создания макета, нажмите «Готово» и в сформировавшемся окне настройки схемы вызовите контекстное меню на наборах данных.
Рис.3 Вызов контекстного меню
Остается лишь написать запрос с выводом требуемых полей, после чего перейти на закладку «Настройки».
Рис.4 Настройки
С помощью конструктора настроек необходимо выбрать поля, которые будет видеть пользователь. Также он предложит указать и группировку.
Рис.5 Работа с конструктором настроек
Именно так устанавливается то, откуда брать данные, по каким критериям и каким образом их выводить. Остается лишь заполнить реквизит «Имя» нового внешнего отчета и сохранить файл на компьютере или на сетевом ресурсе. Обычно компании выделяют специальное место и называют его «Хранилище дополнительных отчетов и обработок» и сохраняют туда все подобные файлы.
Рис.6 Хранилище дополнительных отчетов и обработок
Подключение дополнительного внешнего отчета к конфигурации
Чтобы подключить созданный дополнительный отчет в 1С, придется включить его в состав дополнительных отчетов и обработок. В большинстве типовых конфигураций этот перечень находится в разделе «НСИ и администрирование» - «Печатные формы, отчеты и обработки». Здесь расположена опция «Дополнительные обработки и отчеты». Обычно она включена, но может быть и отключенной, если не пользовались этим инструментом. При включении активизируется ссылка справа на нужный нам список внешних доработок системного функционала в виде обработок и отчетов.
Рис.7 Подключение дополнительного внешнего отчета к конфигурации
При добавлении в данный перечень с помощью кнопки «Создать» 1С откроет форму дополнительной обработки и предложит выбрать файл. Для выбора доступны только файлы формата erf – внешние отчеты, и epf – обработки. При выборе 1С считывает информацию из экспортной функции «СведенияОВнешнейОбработки» и отражает информацию на форме.
Рис.8 Форма дополнительного отчета
В случае дополнительного отчета нам необходимо указать, в каком разделе конфигурации 1С будет отражаться наш отчет. Для этого нужно указать размещение, щелкнув на соответствующую надпись и выбрав раздел системы. Затем перейти на вкладку «Варианты отчета», записать и разместить все варианты в разделах. Остается лишь записать новый дополнительный отчет, чтобы он добавиться в перечень, а пользователи смогут найти вариант отчета в выбранных разделах.
Рис.9 Поиск отчета в выбранных разделах
В итоге мы видим, что добавить дополнительный отчет в 1С достаточно просто и этот процесс не требует углубленного знания базы. Именно безопасность структуры конфигурации и стала ключевой особенностью, благодаря которой разработчики полюбили дополнительные внешние отчеты и обработки в 1С 8.3. Для других видов доработки в процессе подключения к системе 1С может потребоваться указать другие настройки. К примеру, для типа «СозданиеСвязанныхОбъектов» или «ЗаполнениеОбъекта» нужно указать, где показывать доработку – в списке документов или только внутри конкретного объекта.
Чтобы внести изменения в добавленную обработку или отчет, не потребуется завершать работу всех пользователей. Достаточно просто выгрузить внешнюю обработку на компьютер, внести изменения в нее через конфигуратор и загрузить обратно. Для этого в перечне дополнительных обработок существуют специальные кнопки «Выгрузить в файл…» и «Загрузить из файла…». Чтобы пользователи увидели изменения, достаточно закрыть и снова открыть объект – отчет, документ или справочник.
Единственный минус дополнительных отчетов и обработок заключается в том, что внутри них не работает встроенный в платформу отладчик. Но на фоне многочисленных преимуществ с этим можно мириться, тем более что разработчики находят обходные пути для осуществления отладки кода. Если у вас остались вопросы, наши специалисты с радостью предоставят консультации по программе 1С, а также подскажут цены на доработку 1С 8.
Читайте также: