Как разработать расширение для 1С:Фреш при отсутствии локальной базы?

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

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

Подготовка локальной среды разработки

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

  1. Выгрузка данных из облака: Используем штатный механизм «Переход с облачной версии на локальную». В результате мы получим файл с расширением .data. Это не привычный .dt, а автономный дамп данных.
  2. Получение конфигурации: Для загрузки файла .data нам нужна пустая база той же версии (релиза), что и в облаке. Поскольку конфигурации во «Фреше» обновляются часто, важно уточнить номер релиза в разделе «О программе».
  3. Дистрибутивы: Если у вас нет подписки ИТС, дистрибутив .cf можно запросить у клиента (выгрузить из его локальной копии, если она есть) или воспользоваться программой «1С:Предприятие через интернет для разработчиков», которая дает легальный доступ к дистрибутивам для целей разработки.

Вопрос лицензирования

Проанализируем ситуацию с лицензиями. Для разработки расширения недостаточно иметь Комьюнити-лицензию. Важно понимать разграничения:

Технические требования к расширению (Аудит)

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

1. Безопасный режим. Расширение должно корректно работать при установленном флаге БезопасныйРежим = Истина. Это накладывает запрет на использование небезопасных методов. Выясним, какие действия запрещены:

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

2. Префиксы объектов. Все новые объекты (справочники, документы, реквизиты), добавленные в расширении, должны иметь уникальный префикс, согласованный с правилами сервиса (например, ПР_МойОбъект). Это исключает конфликты при обновлении основной конфигурации.

3. Использование 1C:EDT. Современный стандарт разработки под «Фреш» предполагает использование среды 1C:EDT, в чем новичкам поможет материал Начало 1С:EDT+1С:Напарник. В ней встроены механизмы проверки кода на соответствие требованиям облачного сервиса, что позволяет выявить ошибки до отправки на аудит. Кроме того, для эффективной командной разработки полезно изучить приемы быстрой работы в EDT/Git.

Процесс загрузки и тестирования

Посмотрим на алгоритм публикации расширения в сервисе:

  1. Заходим в Личный кабинет абонента «Фреш».
  2. Переходим в раздел «Адаптация» или «Управление расширениями».
  3. Загружаем файл расширения (.cfe).
  4. Система автоматически отправит его на проверку. Статус «На аудите» означает, что специалисты проверяют ваш код на безопасность и производительность.
  5. После успешного прохождения аудита расширение станет доступно для подключения к приложениям клиента.

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


// Пример правильного оформления HTTP-запроса в расширении
Соединение = Новый HTTPСоединение("api.service.ru", , , , , 10, Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос("/v1/data");
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
    // Обработка результата
КонецЕсли;

Помните, что использование ЗащищенноеСоединениеOpenSSL() является обязательным требованием для работы с внешними ресурсами в облаке.

Важные рекомендации

Проанализируем риски обновлений. Конфигурации в «Фреше» обновляются автоматически и зачастую раньше, чем выходят официальные релизы для локальных версий. Мы рекомендуем регулярно проверять совместимость вашего расширения на тестовых приложениях («песочницах»), которые предоставляются партнерам сервиса, чтобы при очередном обновлении облака расширение клиента не отключилось автоматически из-за критических ошибок компиляции.

← На главную