Как загрузить внешнюю форму П-4 в 1С:Фреш (модель сервиса)?

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

При работе в облачной модели сервиса (1С:Fresh) пользователи и технические специалисты часто сталкиваются с ситуацией, когда стандартные внешние формы и обработки, скачанные с портала ИТС или релизов 1С, отказываются загружаться через «Менеджер сервиса». Особенно остро эта проблема встает в периоды сдачи отчетности, когда форма П-4 (статистика) требует оперативного обновления, а версия конфигурации (например, ЗКГУ 3.1.8.246) находится на долгосрочной поддержке и не всегда оперативно включает в себя последние изменения печатных форм.

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

Анализ причины ошибки: разница в манифестах

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


{Справочник.КаталогДополнительныхОтчетовИОбработок.Форма.МастерДобавления.Форма(299)}: Ошибка при вызове метода контекста (ОткрытьФайл)
    Чтение.ОткрытьФайл(ФайлМанифеста);
по причине:
Файл не обнаружен 'C:\Users\admin\AppData\Local\Temp\v8_7CC7_150f.tmp\ExtensionManifest.xml'

Выясним причину этой ошибки. Дело в том, что для локальных версий программ (коробочных решений) 1С поставляет комплекты с файлом ExternalManifest.xml. Однако архитектура «1С:Фреш» и механизмы Библиотеки стандартных подсистем (БСП), работающие в режиме разделения данных, строго требуют наличия файла ExtensionManifest.xml. Без этого файла загрузчик «Менеджера сервиса» не может определить параметры безопасности и правила встраивания обработки в облачную базу.

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

Способ 1: Использование «Помощника подготовки комплектов поставки»

Рассмотрим основной и самый правильный метод решения задачи. Для подготовки корректного комплекта нам не нужно писать код вручную, мы воспользуемся специализированным инструментом. Разберем шаги:

  1. Получение инструментария: Вам понадобится обработка «Помощник подготовки комплектов поставок дополнительных отчетов и обработок». Она входит в состав дистрибутива «Инструментарий разработчика подсистемы "Технология публикации"» (доступен для партнеров и разработчиков).
  2. Подготовка в прикладной базе: Важно понимать, что подготовку нужно выполнять не в самом «Менеджере сервиса», а в локальной копии прикладной базы (в нашем случае это ЗКГУ или ЗУП той же версии). Запустите «Помощник подготовки» в этой базе.
  3. Проверка безопасности: В процессе подготовки «Помощник» проанализирует программный код вашей формы П-4 (файл .erf). В модели сервиса запрещены прямые вызовы файловой системы, работа с реестром Windows и другие потенциально опасные действия. Если форма использует стандартные механизмы БСП, проверка пройдет успешно.
  4. Генерация манифеста: Программа автоматически создаст файл ExtensionManifest.xml, в котором будут прописаны все права доступа, необходимые форме для работы в безопасном режиме.
  5. Формирование ZIP-архива: На выходе вы получите новый ZIP-файл, который уже содержит корректную структуру папок и нужный манифест.

После этого такой архив можно успешно загружать в «Менеджер сервиса» (МС). Рассмотрим подробнее дальнейшие действия в МС.

Процедура загрузки и аудит безопасности

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

Зайдите в «1С:Менеджер сервиса», перейдите в раздел управления дополнительными отчетами и обработками и выберите «Добавить». Укажите ваш новый ZIP-архив. Если манифест составлен верно, система примет файл и создаст карточку обработки.

Обратите внимание на важный нюанс: В публичном облаке (например, 1cfresh.com) ваша форма не станет доступна пользователям мгновенно. Она должна пройти процедуру аудита. Администраторы сервиса (специалисты фирмы 1С) проверят код на соответствие стандартам разработки для облака. Статус обработки изменится на «Включена» только после успешного завершения этой проверки.

Способ 2: Альтернатива через XML-шаблоны (без загрузки кода)

Если вам нужно обновить только внешний вид формы П-4 или схему выгрузки, а логика расчета в конфигурации актуальна, существует более простой путь, который не требует работы с «Менеджером сервиса». Проанализируем этот вариант:

В конфигурациях 1С, основанных на современных версиях БСП, есть справочник «Настройки XML-отчетов». Для статистических форм (таких как П-4) часто достаточно загрузить новый XML-шаблон.

  1. Откройте раздел «1С-Отчетность» — «Настройки» — «Настройки отчетов».
  2. Перейдите по ссылке «Настройки XML-отчетов» (или воспользуйтесь поиском по функциям).
  3. Если у вас есть файл шаблона (обычно в формате XML), вы можете подгрузить его напрямую в прикладную базу.

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

Особенности для старых версий ЗКГУ (3.1.8)

Выясним причину, по которой работа с формой П-4 может вызвать дополнительные сложности в версии 3.1.8. Данная версия является LTS (Long Term Support), и механизмы интеграции с БСП в ней могут отличаться от самых современных редакций.

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

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

Резюме и рекомендации

Подведем итоги нашего исследования проблемы загрузки П-4 во Фреш:

Таким образом, «оживить» форму П-4 в модели сервиса вполне реально, если следовать строгим правилам упаковки и доставки кода, принятым в архитектуре 1С:Предприятие через облачные технологии.

← На главную