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

    Подготовка выполняется в локально развернутой информационной базе той конфигурации, для которой предназначается дополнительный отчёт или обработка. Используем специальный помощник создания комплекта поставки, внешнюю обработку ПодготовкаДополнительныхОтчетовИОбработокКПубликацииВМоделиСервиса.epf. Подробнее можно почитать в документации по Технологии публикаций решений 1С Fresh.



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


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

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

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

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



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

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


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

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




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



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


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

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

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



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



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



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



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

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

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

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

    Заключение


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

    Можно использовать несколько расширений для одной области данных.
    Для специфики работы 1С Fresh в режиме разделения данных (одна конфигурация, много независимых областей), метод расширений отличный выход.
    Кнопка
    Company
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 0

    Only users with full accounts can post comments. Log in, please.