Как правильно оформить внешнюю обработку для публикации в 1С:Фреш?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Разработка внешних обработок для облачных сервисов, таких как 1С:Фреш, требует строгого соблюдения стандартов БСП (Библиотеки стандартных подсистем). Ошибки в описании метаданных обработки или попытки использовать запрещенные методы (например, модальные окна) приводят к тому, что обработка не проходит автоматический аудит. Рассмотрим пошагово, как правильно настроить вашу обработку.

Структура функции СведенияОВнешнейОбработке

Для корректной регистрации необходимо использовать стандартизированный подход. Главное правило: не пытайтесь создавать отдельные функции для команд, если это не предусмотрено архитектурой, а описывайте всё внутри основной функции СведенияОВнешнейОбработке. Важно также использовать методы объекта ДополнительныеОтчетыИОбработки.

Рассмотрим современный шаблон, который успешно проходит аудит:


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

Ключевые требования безопасности

  1. Безопасный режим: В облачных средах установка ПараметрыРегистрации.БезопасныйРежим = Истина является обязательной. Если вы укажете Ложь, обработка будет отклонена аудитором, так как это несет риски безопасности сервера.
  2. Отсутствие модальности: Использование метода ОткрытьМодально запрещено. В облачной архитектуре потоки исполнения должны быть асинхронными. Любые попытки заблокировать интерфейс приведут к ошибкам при выполнении кода.
  3. Работа на сервере: Если ваша обработка должна запускаться по расписанию, помните, что интерактивный сеанс пользователя отсутствует. Вы не сможете обратиться к ПолучитьФорму. Вся логика должна выполняться исключительно серверными методами в модуле объекта.

Как реализовать выполнение по расписанию

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

Правильный шаблон для обработки команды:


Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполнения = Неопределено) Экспорт
    Если ИдентификаторКоманды = "ИмяВашейКоманды" Тогда
        // Вызов серверной логики
        ВыполнитьОсновнуюЛогику();
    КонецЕсли;
КонецПроцедуры

Распространенные ошибки

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

← На главную