Свой код в облаке 1С: расширения .cfe и внешние обработки в сервисе 1С:Фреш
Содержание
Добавить расширение
в 1С Фреш можно без Конфигуратора: в приложении откройте Администрирование → Печатные формы, отчеты и обработки → Расширения, нажмите «Добавить из файла» и выберите файл .cfe. Внешние обработки и отчёты (.epf, .erf) загружаются рядом, в списке «Дополнительные отчеты и обработки». Но сработает это, только если загрузка собственных файлов разрешена для вашего абонента, у вас права администратора приложения, а сам файл подготовлен для работы в облаке.
Типичная ситуация: программист сделал для бухгалтера доработанную печатную форму счёта, в локальной базе всё работает. Бухгалтерия переехала в облако 1С:Фреш, файл открывают через Файл → Открыть — и ничего не выходит. Дальше разбираем, почему так и как установить расширение
или обработку правильно.
Чем облако 1С:Фреш отличается от обычной базы
В локальной базе у вас есть Конфигуратор, полный доступ к файлам и любые внешние обработки «на лету». В облаке всё иначе. Одна информационная база обслуживает сотни организаций, у каждого абонента своя изолированная область данных. Поэтому сервис жёстко ограничивает чужой код.
| Что | Локальная база | 1С:Фреш |
|---|---|---|
| Конфигуратор | Есть | Нет, менять конфигурацию нельзя |
Внешняя обработка через Файл → Открыть | Работает | Не работает |
Расширение .cfe | Через Конфигуратор или форму «Расширения» | Только через форму «Расширения» в приложении |
| Область действия расширения | Вся база | Только ваша область данных |
| Доступ кода к файлам сервера, COM, внешним компонентам | Есть | Закрыт безопасным режимом |
| Кто обновляет конфигурацию | Вы | Провайдер, по своему графику |
Из таблицы следуют три практических вывода:
- 📦 Любая доработка в облаке — это либо расширение конфигурации , либо дополнительный отчёт или обработка, зарегистрированные в программе.
- 🔒 Код выполняется в безопасном режиме. Обработка, которая пишет файлы на диск сервера или вызывает Excel через COM, в облаке не заработает.
- 🔄 Конфигурацию обновляет провайдер, а не вы. Расширение должно пережить обновление без вашего участия.
Расширение, установленное в вашем приложении, видят и используют только пользователи вашего абонента. Соседи по сервису его не получат, а их доработки не попадут к вам.
Что проверить до загрузки: права, разрешения, формат файла
Большинство отказов при подключении — не ошибка файла, а неготовность приложения. Пройдитесь по списку до того, как нажимать кнопку.
Права пользователя
Добавлять расширения и обработки может только пользователь с полными правами в приложении — обычно это администратор абонента. Рядовой бухгалтер нужных команд в разделе Администрирование просто не увидит.
Разрешение провайдера
В модели сервиса самостоятельную загрузку файлов включает провайдер. Если её не включили, команда «Добавить из файла» недоступна или программа отвечает отказом. Тогда путь один — обращение в поддержку сервиса: файл проверяют специалисты провайдера и после проверки подключают его в ваше приложение.
Порядок проверки, сроки и стоимость задаёт конкретный провайдер. В 1cfresh.com и у партнёров, которые работают на технологии 1С:Фреш, условия отличаются — уточните их в личном кабинете или у поддержки.
Формат и происхождение файла
| Тип доработки | Расширение файла | Куда загружается |
|---|---|---|
| Расширение конфигурации | .cfe | Расширения |
| Дополнительная обработка, печатная форма, заполнение табличной части | .epf | Дополнительные отчеты и обработки |
| Дополнительный отчёт | .erf | Дополнительные отчеты и обработки |
Требования к содержимому:
- 🧩 Обработка
.epfдолжна быть именно дополнительной: в модуле объекта есть экспортная функцияСведенияОВнешнейОбработке(), которая сообщает программе вид обработки, назначение и команды. Обычная «внешняя» обработка без регистрации в облаке бесполезна. - 🛡 Код не обращается к файловой системе сервера, COM-объектам, внешним компонентам и привилегированному режиму.
- 🎯 Расширение собрано под ту же конфигурацию и тот же релиз, что работает у вас в облаке.
- 🧾 Файл получен от разработчика, которому вы доверяете. В облаке ваши данные, и чужой код видит их так же, как вы.
Как подготовить расширение .cfe для работы в облаке
Если расширение пишете сами или заказываете у программиста, вот приёмы, без которых в облаке начнутся проблемы.
1. Взять точную копию релиза
Узнайте номер релиза конфигурации в облаке: меню с иконкой вопроса (или «гамбургер» в шапке) → «О программе». Расширение разрабатывают на локальной базе с ровно таким же релизом. Подойдёт выгрузка своих данных из сервиса в локальную версию или чистая база того же релиза.
2. Настроить свойства расширения
В Конфигураторе откройте Конфигурация → Расширения конфигурации, создайте расширение и в его свойствах проверьте:
- Префикс имён — короткий и уникальный, например
Мк_. Он защищает от конфликта с объектами конфигурации и других расширений. - Режим совместимости — номер не выше, чем у основной конфигурации. Иначе расширение не применится.
- Назначение — «Адаптация» или «Дополнение» под вашу задачу; «Исправление» оставьте для заплаток.
3. Заимствовать минимум
Каждый заимствованный объект — точка, где расширение может сломаться после обновления. Берите только то, что меняете. Вместо правки целой процедуры используйте аннотации &Перед, &После, &Вместо:
&НаСервере
&После("ПриСозданииНаСервере")
Процедура Мк_ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Ваш код: добавить поле, команду, проверку
КонецПроцедуры
Код в обработчике &После выполняется после типового, а сам типовой текст остаётся нетронутым. При обновлении конфигурации такое расширение ломается гораздо реже, чем правка через &ИзменениеИКонтроль.
4. Проверить в безопасном режиме и веб-клиенте
Перед выгрузкой подключите расширение в локальной базе через форму «Расширения» с включённым флажком «Безопасный режим». Затем запустите базу в веб-клиенте или тонком клиенте и пройдите все сценарии. То, что упало здесь, упадёт и в облаке.
5. Сохранить в файл
В окне дерева расширения выберите команду сохранения конфигурации в файл и получите .cfe. Этот файл и загружается в сервис.
Установка расширения в 1С Фреш по шагам
Когда файл готов и права есть, сама установка расширения занимает пару минут. Покажем на примере 1С:Бухгалтерии 3.0 — в ЗУП 3.1 и УНФ путь в разделе Администрирование устроен так же.
- Войдите в приложение под администратором абонента.
- Откройте
Администрирование → Печатные формы, отчеты и обработки. - Убедитесь, что включён флажок «Расширения». Если его нет на форме — возможность для вас закрыта провайдером.
- Перейдите по ссылке «Расширения».
- Нажмите «Добавить из файла» и выберите
.cfeна своём компьютере. Браузер может попросить разрешение на передачу файла — подтвердите. - Программа покажет предупреждение о безопасности. Прочитайте, от кого файл, и подтвердите загрузку.
- Проверьте строку расширения в списке: флажок «Активно» включён, «Безопасный режим» тоже.
- Выйдите из приложения и войдите снова. Расширение начинает работать только после перезапуска сеанса — и у вас, и у других пользователей.
Перед установкой незнакомого расширения в рабочее приложение сделайте копию данных средствами сервиса. Расширение меняет поведение программы для всех пользователей абонента, и откатывать изменения в документах вручную долго.
Удалить или временно отключить расширение можно в той же форме: снимите флажок «Активно» или удалите строку. После этого тоже нужен перезапуск сеанса.
Как загрузить внешнюю обработку или отчёт в облако
Внешние печатные формы, обработки заполнения и отчёты подключаются через механизм дополнительных отчётов и обработок.
- Откройте
Администрирование → Печатные формы, отчеты и обработки. - Включите флажок «Дополнительные отчеты и обработки» и перейдите по одноимённой ссылке.
- Нажмите «Добавить из файла» и выберите
.epfили.erf. - В карточке проверьте вид обработки, наименование и список команд — их программа берёт из
СведенияОВнешнейОбработке(). - На вкладке с размещением укажите, в каких разделах или документах показывать команду. Для печатной формы — в каких документах она появится в меню «Печать».
- Установите публикацию «Используется» и сохраните карточку.
- Откройте нужный документ и проверьте, что команда появилась.
Если обработка запрашивает разрешения — например, на обращение к внешнему сайту, — программа покажет запрос. В облаке такие разрешения может отклонить сервис, и тогда команда работать не будет.
Печатную форму часто проще сделать расширением, чем внешней обработкой: после обновления конфигурации макет в расширении продолжает работать, а внешнюю печатную форму иногда приходится перерегистрировать.
Расширение или дополнительная обработка: что выбрать
| Задача | Что выбрать | Почему |
|---|---|---|
| Своя печатная форма документа | Дополнительная обработка или расширение | Обработку проще передать и заменить |
| Новый реквизит в документе | Расширение | Обработка не меняет структуру формы и объекта |
| Изменить поведение при проведении | Расширение | Нужен перехват типового кода |
| Разовая загрузка данных из файла | Дополнительная обработка | Не нужно встраиваться в конфигурацию |
| Свой отчёт | Дополнительный отчёт .erf | Не трогает конфигурацию вообще |
Веб-клиент и совместимость: почему в облаке ломается то, что работало дома
В 1С:Фреш большинство пользователей работает через браузер, то есть в веб-клиенте. Часть приёмов, привычных для толстого клиента, здесь не работает .
Что чаще всего подводит:
- 🪟 Модальные окна. Синхронные
Вопрос(),Предупреждение(),ОткрытьФормуМодально()при запрещённой модальности приводят к ошибке. Нужны асинхронные варианты:ПоказатьВопрос(),ПоказатьПредупреждение(), обработка черезОписаниеОповещения. - 📂 Работа с файлами на клиенте. Чтение файла с диска пользователя в браузере идёт через асинхронные методы и передачу во временное хранилище. Прямое обращение к пути
C:\...на сервере облака бессмысленно — у сервера свой диск. - 🧷 COM и внешние компоненты. Вызов Excel или Word через
Новый COMОбъектв облаке запрещён безопасным режимом. - ⚙️ Обычные формы. Обработка на обычных формах не откроется в веб-клиенте — нужны управляемые формы.
- 🔁 Обновление конфигурации . Провайдер обновляет релиз сам. Если заимствованный объект изменился, расширение может не примениться после обновления.
После каждого обновления приложения откройте список расширений и проверьте флажок «Активно». Расширение, которое не смогло примениться, программа отключает, и пользователи узнают об этом только по пропавшей кнопке.
Чтобы снизить риск, договоритесь с разработчиком о проверке расширения на новом релизе заранее: релизы появляются в сервисе с задержкой после выхода, и за это время можно подготовить исправленный .cfe.
Диагностика: расширение или обработка не подключаются
Если ни один пункт не подошёл, соберите для поддержки сервиса три вещи: точный текст ошибки (скопируйте его из окна сообщения), имя и версию файла, номер релиза конфигурации. С такой заявкой разбор идёт быстрее.
Если не помогло: альтернатива
Когда доработку не удаётся адаптировать под облако, есть два честных варианта:
- 🔀 Решение из каталога сервиса. Для популярных задач — дополнительные печатные формы, загрузка выписок, обмены — в сервисе часто уже есть готовые проверенные доработки. Их подключение проще, чем согласование своего файла.
- 🖥 Локальная версия или аренда сервера. Если бизнесу нужен COM, обмен с локальным оборудованием или глубокие правки конфигурации, облако на технологии 1С:Фреш просто не подходит. Тогда данные выгружают в локальную базу или переносят на арендованный сервер с полным доступом.