1с как открыть модуль менеджера внешнего отчета
Перейти к содержимому

1с как открыть модуль менеджера внешнего отчета

  • автор:

Дополнительные отчёты и обработки, использование расширений в 1С Fresh

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

Что такое внешние отчёты и обработки

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

По функциональности обработки делятся на те, которые могут изменять данные и те, которые просто анализируют информацию и выводят результат в удобной для пользователя форме (отчёты). Чтобы не менять стандартные макеты печати документов, разрабатываются внешние печатные формы. Также внешние обработки могут выполняться по заданному расписанию на сервере приложений 1С — это регламентные задания.

В Кнопке разработано несколько десятков обработок, позволяющих использовать нашим бухгалтерам “практическую магию“. Например, для анализа правильности бухгалтерского учёта в Кнопке используется внешний отчёт “Автоаудит баз“. В удобных для восприятия таблицах выводится анализ по 120 критериям остатков и оборотов по счетам, соответствие данных из налоговых деклараций и информации по бухгалтерскому учёту, анализ основных средств и прочее.

image

image

image

Пример внешней печатной формы “договор займа“ по форме, разработанной нашими юристами. Бывают случаи, когда предприниматель берёт беспроцентный займ у своей фирмы как физическое лицо, или наоборот, перечисляет собственные средства фирме, тогда есть возможность сразу же распечатать договор.

image

Открывается форма для заполнения необходимых реквизитов:

image

И выводится печатная форма договора:

Обработки по расписанию (регламентные задания) используем, например, для исправления выписки. У Кнопки настроены интеграции с основными банками и специальные роботы загружают выписку напрямую в 1С. Благодаря технологии машинного обучения, процент ошибок при проведении выписки удалось снизить до 3%. Но как всегда есть исключения, например клиенты, которые используют агентскую схему реализации товаров, в этом случае правила проведения банковской выписки индивидуальные. Чтобы не перепрограммировать робота для частного случая, до появления расширений конфигурации использовали регламентное задание, чтобы раз в 10 минут исправлять выписку за роботом.

Что такое расширения конфигурации

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

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

  1. Исправление – это расширение для корректировки незначительных неточностей и ошибок в объектах конфигурации;
  2. Адаптация – значение по-умолчанию при создании нового расширения. Используем для изменения типовых объектов под свои требования;
  3. Дополнение – добавляет совершенно новый функционал в типовое решение.

Администрирование дополнительных отчётов, обработок и расширений

На сегодняшний день Кнопка оказывает услуги бухгалтерского аутсорсинга более чем 1000 предпринимателям. Мы внедрили и уже более двух лет используем 1С Fresh — технологию публикаций прикладных решений на платформе 1С: Предприятие, которая используется в облачном сервисе 1cfresh.com. Это лучшее решение для обслуживания такого большого количества 1С-ных баз на сегодняшний день. Одна информационная база с помощью разделителей дробится на независимые области, подробнее можно прочитать в нашей статье «Как самостоятельно обслуживать 2500 бухгалтерских баз».

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

Все файлы с обработками загружаются в специальный каталог менеджера сервиса. Но перед тем, как загрузить файл в каталог, другими словами “опубликовать в сервисе“, его надо специальным образом подготовить.

Подготовка внешних отчётов и обработок к публикации в модели сервиса

Дополнительный отчёт или обработка создаются в конфигураторе “1С: Предприятие 8“ как стандартные внешние отчёты и обработки и сохраняются в файл с расширением — .epf (для дополнительных обработок) или .erf (для дополнительных отчётов).

В модуле объекта должны быть процедуры и функции для определения параметров регистрации.

Обратите внимание, что важным параметром является “Версия“. Если вы внесли изменения в обработку, которая уже была ранее загружена в каталог менеджера сервиса, обязательно измените номер версии, иначе менеджер сервиса откажется загружать этот файл. При разработке отчёта или обработки надо учитывать, что пользователи работают в модели сервиса через web-клиент (хорошая статья в блоге 1С). Если обработка содержит формы, то они должны работать в web-клиенте под всеми web-браузерами, которые поддерживаются технологической платформой «1С: Предприятие 8».

По стандартам сервиса 1cfresh.com, дополнительный отчёт или обработка должны быть полностью работоспособны при исполнении в безопасном режиме, то есть работать без обращения к внешним для конфигурации объектам.

Дополнительный отчёт или обработка должны быть подготовлены для загрузки в сервис в виде комплекта поставки. Комплект поставки является архивом (zip-файлом), содержащим:

  • файл дополнительного отчета или обработки;
  • xml-файл манифеста, в котором находится дополнительная метаинформация, необходимая менеджеру сервиса для публикации дополнительного отчёта или обработки в сервисе.

Установка дополнительных отчётов и обработок в модели сервиса

Отличительной чертой технологии 1С Fresh является то, что внешний отчёт или обработку нельзя загрузить напрямую в область данных. Добавление происходит только администратором сервиса через менеджер сервиса. После того, как zip-архив с файлом обработки подготовлен, его надо загрузить в каталог менеджера сервиса и установить для конкретного абонента сервиса.

Абонент сервиса — это группа пользователей, объединённых по какому-либо принципу. Соответственно, информационные базы, доступные для определённой группы пользователей, называются приложениями абонента.

Приложения могут иметь различные конфигурации 1С (Бухгалтерия предприятия, Зарплата и управление персоналом, Управление нашей фирмой и т.д.), для которых возможно использование в модели сервиса. Дополнительный отчёт или обработка могут быть установлены только в приложения абонента, который указан при загрузке файла.

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

После того, как обработка загружена и выбрано приложение, менеджер сервиса обращается по адресу приложения и даёт команду установить её в информационную базу.

Запускаем обработки по расписанию

При работе с большим количеством бухгалтерских баз, некоторые обработки нужно выполнять периодически. Например, раз в месяц или раз в несколько минут. Также важно автоматизировать ручные и типовые операции пользователей. Для этого активно используем регламентные задания.

Обработки, которые будут выполняться по расписанию не имеют формы. Вся логика прописывается в модуле объекта и выглядит следующим образом.


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

Подробнее про расширения конфигурации

Параллельно с внешними отчётами и обработками, которые нужно подготавливать и администрировать “по-старинке“, мы начали активно использовать механизм расширений конфигурации. Начиная с платформы 1С Предприятия 8.3.10, этот механизм достаточно облегчил нашу жизнь и позволил упростить адаптацию конфигураций под особенности Кнопки.

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

Новое расширение подготовить достаточно просто. Давайте рассмотрим процесс создания расширений на конкретных примерах.
По опыту работы, лидером по запросам на внесение корректировок является печатная форма ТОРГ-12. Например, нам надо сделать расширение для возможности печатать товарную накладную в валюте (по умолчанию она может формироваться только в рублях).
Открываем Меню → Конфигурация → Расширения конфигурации
Создаём новое расширение с назначением “Адаптация“.

Расширение выглядит как привычное дерево конфигурации, но пока без объектов. Первым делом добавим новый макет ТОРГ-12, в который вставили колонки с суммами в валюте.

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

Теперь можно доработать модуль менеджера реализации. Нам нужно добавить новую форму в список печатных форм и заполнить суммы в валюте.

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

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

Аннотации &Перед и &После нельзя применять для функций. Поэтому, если нам необходимо изменить алгоритм функции из основной конфигурации, используем аннотацию &Вместо.

Аннотацию &Вместо надо применять как можно реже, поскольку она полностью замещает выполнение процедуры и функции из основной конфигурации на процедуру/функцию расширения. При этом способе перехвата процедура/функция из основной конфигурации вообще перестанут выполняться пока установлено расширение, даже обновление версий не поможет.

Заключение

Существует много различных мнений про использование расширений и внешних отчётов/обработок. Опираясь на наш опыт, мы двумя руками “за“ расширения. Это современная и более адаптивная технология, у нее гораздо больше возможностей, и их публикация в разы проще. В расширение помещается только необходимая часть кода, также отсутствует необходимость дополнительно прописывать процедуры и функции для определения параметров регистрации, следить за версиями и создавать комплект поставки.

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

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

Анна Викулина

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

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

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

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

Рис.1 Внешний отчет Рис.1 Внешний отчет

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

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

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

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

    Рис.3 Вызов контекстного меню Рис.3 Вызов контекстного меню

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

    Рис.4 Настройки Рис.4 Настройки

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

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

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

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

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

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

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

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

    Рис.8 Форма дополнительного отчета Рис.8 Форма дополнительного отчета

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

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

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

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

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

    Менеджер 1С

    Платформе 1С 8.3. менеджер 1С необходим для организации работы с объектами метаданных. Посредством менеджера 1С создаются новые экземпляры справочников, документов, осуществляется поиск и выборка объектов, получаются формы и макет, а также выполняется другая работа, не связанная с конкретным экземпляром объекта.

    Менеджер объекта 1С

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

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

    Узнать, какое свойство за какой объект отвечает, можно в синтакс-помощнике в разделе Глобальный контекст, подразделе Свойства.

    Свойство глобального контекста 1С

    Если в модуле написать название свойства глобального контекста, и поставить «.» (или Ctrl + Space), то появится контекстная подсказка в которой, будут отображены все объекты этого прототипа, существующие в конфигурации на данный момент. Например, справочники.

    Свойство глобального контекста 1С

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

    И нам будут доступны все свойства и методы менеджера объекта. Заметим, что менеджер объекта даёт доступ не к конкретному экземпляру объекта, а ко всему объекту в целом.

    Все свойства и методы менеджера нужного объекта можно посмотреть в синтакс-помощнике. Например, для справочника будет следующий путь.

    Менеджер объекта 1С

    А для документа, следующий:

    Менеджер объекта 1С

    Так мы получаем доступ к менеджеру конкретного справочника Контрагенты.

    А так, к менеджеру документа Счет.

    Естественно, и справочник Контрагенты, и документ Счет уже созданы в конфигурации.

    Если после получения доступа к менеджеру объекта, мы поставим точку или выполним комбинацию клавиш Ctrl + Space, то появится контекстная подсказка со свойствами и методами менеджера объекта.

    Менеджер объекта 1С

    Подробно об этих методах можно почитать в синтакс-помощнике. Например, о методах менеджера справочника.

    Менеджер объекта 1С

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

    Где СоздатьЭлемент() – это функция менеджера справочника, которая возвращает новый экземпляр объекта.

    А получить выборку элементов справочника можно так:

    Где Выбрать() – это функция менеджера справочника, которая возвращает выборку элементов.

    К примеру, получить выборку всех элементов и вывести в сообщение их наименование можно так:

    Модуль менеджера 1С

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

    Модуль менеджера 1С

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

    Модуль менеджера 1С

    Теперь, мы можем обратиться к этому методу посредством менеджера конкретного справочника.

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

    Читайте также по теме:

    Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
    Книга «Программировать в 1С за 11 шагов»

    Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

    Программировать в 1С за 11 шагов

    Книга написана понятным и простым языком — для новичка.

    1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
    2. Научитесь понимать архитектуру 1С;
    3. Станете писать код на языке 1С;
    4. Освоите основные приемы программирования;
    5. Закрепите полученные знания при помощи задачника

    О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

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

    Основы разработки в 1С такси

    1. Очень доступный и понятный язык изложения
    2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
    3. Поймете идеологию управляемого приложения 1С
    4. Узнаете, как разрабатывать управляемое приложение;
    5. Научитесь разрабатывать управляемые формы 1С;
    6. Сможете работать с основными и нужными элементами управляемых форм
    7. Программирование под управляемым приложением станет понятным

    Промо-код на скидку в 15% — 48PVXHeYu

    Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
    Только для читателей моего блога,
    промо-код на скидку в 300 рублей на весь комплект: blog


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

    можно оплатить вручную:

    Яндекс.Деньги — 410012882996301
    Web Money — R955262494655

Добавить комментарий

Ваш адрес email не будет опубликован.