Свой код в облаке 1С: расширения .cfe и внешние обработки в сервисе 1С:Фреш

· 9 мин

Содержание

Добавить расширение в 1С Фреш можно без Конфигуратора: в приложении откройте Администрирование → Печатные формы, отчеты и обработки → Расширения, нажмите «Добавить из файла» и выберите файл .cfe. Внешние обработки и отчёты (.epf, .erf) загружаются рядом, в списке «Дополнительные отчеты и обработки». Но сработает это, только если загрузка собственных файлов разрешена для вашего абонента, у вас права администратора приложения, а сам файл подготовлен для работы в облаке.

Типичная ситуация: программист сделал для бухгалтера доработанную печатную форму счёта, в локальной базе всё работает. Бухгалтерия переехала в облако 1С:Фреш, файл открывают через Файл → Открыть — и ничего не выходит. Дальше разбираем, почему так и как установить расширение или обработку правильно.

Чем облако 1С:Фреш отличается от обычной базы

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

ЧтоЛокальная база1С:Фреш
КонфигураторЕстьНет, менять конфигурацию нельзя
Внешняя обработка через Файл → ОткрытьРаботаетНе работает
Расширение .cfeЧерез Конфигуратор или форму «Расширения»Только через форму «Расширения» в приложении
Область действия расширенияВся базаТолько ваша область данных
Доступ кода к файлам сервера, COM, внешним компонентамЕстьЗакрыт безопасным режимом
Кто обновляет конфигурациюВыПровайдер, по своему графику

Из таблицы следуют три практических вывода:

  • 📦 Любая доработка в облаке — это либо расширение конфигурации , либо дополнительный отчёт или обработка, зарегистрированные в программе.
  • 🔒 Код выполняется в безопасном режиме. Обработка, которая пишет файлы на диск сервера или вызывает Excel через COM, в облаке не заработает.
  • 🔄 Конфигурацию обновляет провайдер, а не вы. Расширение должно пережить обновление без вашего участия.

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

Что проверить до загрузки: права, разрешения, формат файла

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

Права пользователя

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

Разрешение провайдера

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

Порядок проверки, сроки и стоимость задаёт конкретный провайдер. В 1cfresh.com и у партнёров, которые работают на технологии 1С:Фреш, условия отличаются — уточните их в личном кабинете или у поддержки.

Формат и происхождение файла

Тип доработкиРасширение файлаКуда загружается
Расширение конфигурации.cfeРасширения
Дополнительная обработка, печатная форма, заполнение табличной части.epfДополнительные отчеты и обработки
Дополнительный отчёт.erfДополнительные отчеты и обработки

Требования к содержимому:

  • 🧩 Обработка .epf должна быть именно дополнительной: в модуле объекта есть экспортная функция СведенияОВнешнейОбработке(), которая сообщает программе вид обработки, назначение и команды. Обычная «внешняя» обработка без регистрации в облаке бесполезна.
  • 🛡 Код не обращается к файловой системе сервера, COM-объектам, внешним компонентам и привилегированному режиму.
  • 🎯 Расширение собрано под ту же конфигурацию и тот же релиз, что работает у вас в облаке.
  • 🧾 Файл получен от разработчика, которому вы доверяете. В облаке ваши данные, и чужой код видит их так же, как вы.

Как подготовить расширение .cfe для работы в облаке

Если расширение пишете сами или заказываете у программиста, вот приёмы, без которых в облаке начнутся проблемы.

1. Взять точную копию релиза

Узнайте номер релиза конфигурации в облаке: меню с иконкой вопроса (или «гамбургер» в шапке) → «О программе». Расширение разрабатывают на локальной базе с ровно таким же релизом. Подойдёт выгрузка своих данных из сервиса в локальную версию или чистая база того же релиза.

2. Настроить свойства расширения

В Конфигураторе откройте Конфигурация → Расширения конфигурации, создайте расширение и в его свойствах проверьте:

  1. Префикс имён — короткий и уникальный, например Мк_. Он защищает от конфликта с объектами конфигурации и других расширений.
  2. Режим совместимости — номер не выше, чем у основной конфигурации. Иначе расширение не применится.
  3. Назначение — «Адаптация» или «Дополнение» под вашу задачу; «Исправление» оставьте для заплаток.

3. Заимствовать минимум

Каждый заимствованный объект — точка, где расширение может сломаться после обновления. Берите только то, что меняете. Вместо правки целой процедуры используйте аннотации &Перед, &После, &Вместо:

&НаСервере
&После("ПриСозданииНаСервере")
Процедура Мк_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	// Ваш код: добавить поле, команду, проверку
КонецПроцедуры

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

4. Проверить в безопасном режиме и веб-клиенте

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

5. Сохранить в файл

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

Установка расширения в 1С Фреш по шагам

Когда файл готов и права есть, сама установка расширения занимает пару минут. Покажем на примере 1С:Бухгалтерии 3.0 — в ЗУП 3.1 и УНФ путь в разделе Администрирование устроен так же.

  1. Войдите в приложение под администратором абонента.
  2. Откройте Администрирование → Печатные формы, отчеты и обработки.
  3. Убедитесь, что включён флажок «Расширения». Если его нет на форме — возможность для вас закрыта провайдером.
  4. Перейдите по ссылке «Расширения».
  5. Нажмите «Добавить из файла» и выберите .cfe на своём компьютере. Браузер может попросить разрешение на передачу файла — подтвердите.
  6. Программа покажет предупреждение о безопасности. Прочитайте, от кого файл, и подтвердите загрузку.
  7. Проверьте строку расширения в списке: флажок «Активно» включён, «Безопасный режим» тоже.
  8. Выйдите из приложения и войдите снова. Расширение начинает работать только после перезапуска сеанса — и у вас, и у других пользователей.

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

Удалить или временно отключить расширение можно в той же форме: снимите флажок «Активно» или удалите строку. После этого тоже нужен перезапуск сеанса.

Как загрузить внешнюю обработку или отчёт в облако

Внешние печатные формы, обработки заполнения и отчёты подключаются через механизм дополнительных отчётов и обработок.

  1. Откройте Администрирование → Печатные формы, отчеты и обработки.
  2. Включите флажок «Дополнительные отчеты и обработки» и перейдите по одноимённой ссылке.
  3. Нажмите «Добавить из файла» и выберите .epf или .erf.
  4. В карточке проверьте вид обработки, наименование и список команд — их программа берёт из СведенияОВнешнейОбработке().
  5. На вкладке с размещением укажите, в каких разделах или документах показывать команду. Для печатной формы — в каких документах она появится в меню «Печать».
  6. Установите публикацию «Используется» и сохраните карточку.
  7. Откройте нужный документ и проверьте, что команда появилась.

Если обработка запрашивает разрешения — например, на обращение к внешнему сайту, — программа покажет запрос. В облаке такие разрешения может отклонить сервис, и тогда команда работать не будет.

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

Расширение или дополнительная обработка: что выбрать

ЗадачаЧто выбратьПочему
Своя печатная форма документаДополнительная обработка или расширениеОбработку проще передать и заменить
Новый реквизит в документеРасширениеОбработка не меняет структуру формы и объекта
Изменить поведение при проведенииРасширениеНужен перехват типового кода
Разовая загрузка данных из файлаДополнительная обработкаНе нужно встраиваться в конфигурацию
Свой отчётДополнительный отчёт .erfНе трогает конфигурацию вообще

Веб-клиент и совместимость: почему в облаке ломается то, что работало дома

В 1С:Фреш большинство пользователей работает через браузер, то есть в веб-клиенте. Часть приёмов, привычных для толстого клиента, здесь не работает .

Что чаще всего подводит:

  • 🪟 Модальные окна. Синхронные Вопрос(), Предупреждение(), ОткрытьФормуМодально() при запрещённой модальности приводят к ошибке. Нужны асинхронные варианты: ПоказатьВопрос(), ПоказатьПредупреждение(), обработка через ОписаниеОповещения.
  • 📂 Работа с файлами на клиенте. Чтение файла с диска пользователя в браузере идёт через асинхронные методы и передачу во временное хранилище. Прямое обращение к пути C:\... на сервере облака бессмысленно — у сервера свой диск.
  • 🧷 COM и внешние компоненты. Вызов Excel или Word через Новый COMОбъект в облаке запрещён безопасным режимом.
  • ⚙️ Обычные формы. Обработка на обычных формах не откроется в веб-клиенте — нужны управляемые формы.
  • 🔁 Обновление конфигурации . Провайдер обновляет релиз сам. Если заимствованный объект изменился, расширение может не примениться после обновления.

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

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

Диагностика: расширение или обработка не подключаются

Диагностика: выберите симптом

Если ни один пункт не подошёл, соберите для поддержки сервиса три вещи: точный текст ошибки (скопируйте его из окна сообщения), имя и версию файла, номер релиза конфигурации. С такой заявкой разбор идёт быстрее.

Если не помогло: альтернатива

Когда доработку не удаётся адаптировать под облако, есть два честных варианта:

  • 🔀 Решение из каталога сервиса. Для популярных задач — дополнительные печатные формы, загрузка выписок, обмены — в сервисе часто уже есть готовые проверенные доработки. Их подключение проще, чем согласование своего файла.
  • 🖥 Локальная версия или аренда сервера. Если бизнесу нужен COM, обмен с локальным оборудованием или глубокие правки конфигурации, облако на технологии 1С:Фреш просто не подходит. Тогда данные выгружают в локальную базу или переносят на арендованный сервер с полным доступом.

Частые вопросы

Можно ли открыть внешнюю обработку в 1С Фреш через «Файл → Открыть»?
Нет. В облаке произвольные внешние файлы не запускаются. Обработку нужно добавить как дополнительную через раздел «Администрирование».
Увидят ли расширение другие пользователи моей организации?
Да. Расширение действует на всю область данных абонента, поэтому после перезахода оно работает у всех ваших пользователей.
Нужно ли переустанавливать расширение после обновления 1С в облаке?
Только если оно перестало применяться. Если флажок «Активно» на месте и доработка работает, ничего делать не нужно.
Можно ли поставить одно расширение в несколько приложений абонента?
Да, но загружать его придётся в каждое приложение отдельно: у каждого приложения своя область данных и свой список расширений.
Сколько расширений можно подключить одновременно?
Жёсткого лимита в интерфейсе нет, но каждое расширение замедляет запуск и повышает риск конфликтов. Объединяйте мелкие доработки в одно расширение.