Как исправить ошибку «Поле информация не заполнено» при загрузке внешнего отчета в 1С:Fresh?

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

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

Причина возникновения ошибки

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

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

Для того чтобы отчет прошел проверку системы, необходимо внести изменения непосредственно в модуль объекта вашего внешнего отчета. Рассмотрим, как это сделать правильно.

  1. Откройте вашу внешнюю обработку или отчет в Конфигураторе.
  2. Перейдите в «Модуль объекта» (если его нет, создайте его).
  3. Добавьте функцию СведенияОВнешнейОбработке с директивой Экспорт.

Пример реализации данной функции для корректной регистрации отчета:


Функция СведенияОВнешнейОбработке() Экспорт
    ИмяОтчета = ЭтотОбъект.Метаданные.Имя;
    Синоним = ЭтотОбъект.Метаданные.Синоним;
    Синоним = ?(ЗначениеЗаполнено(Синоним), Синоним, ИмяОтчета);
    
    РегистрационныеДанные = Новый Структура;
    РегистрационныеДанные.Вставить("Вид", "ДополнительныйОтчет");
    РегистрационныеДанные.Вставить("Наименование", Синоним);
    РегистрационныеДанные.Вставить("Версия", "1.1");
    РегистрационныеДанные.Вставить("БезопасныйРежим", Истина);
    РегистрационныеДанные.Вставить("Информация", "Отчет " + Синоним + " - описание функционала");
    
    ТаблицаКоманд = ПолучитьТаблицуКоманд();
    ДобавитьКоманду(ТаблицаКоманд, Синоним, "СформироватьОтчет", "ОткрытиеФормы", Истина);
    
    РегистрационныеДанные.Вставить("Команды", ТаблицаКоманд);
    
    Возврат РегистрационныеДанные;
КонецФункции

Реализация вспомогательных процедур и функций

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


Функция ПолучитьТаблицуКоманд()
    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    Возврат Команды;
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование = "ОткрытиеФормы", ПоказыватьОповещение = Ложь, Модификатор = "ПечатьMXL")
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры

Важные рекомендации при подготовке к публикации

Простого добавления кода недостаточно для того, чтобы пройти финальный аудит сервиса 1С:Fresh. Рассмотрим несколько критических моментов:

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

← На главную