Разработка для облачного сервиса 1С:Фреш (1cfresh.com) существенно отличается от работы с обычными локальными базами. Главная сложность заключается в необходимости иметь идентичную среду разработки и соблюдать жесткие требования безопасности сервиса. Рассмотрим пошагово, как организовать процесс доработки, если у вас нет коробочной версии программы.
Для создания расширения нам в любом случае потребуется развернуть локальную информационную базу. Работа напрямую в облачном конфигураторе невозможна. Разберем, где взять необходимые файлы:
.data. Это не привычный .dt, а автономный дамп данных..data нам нужна пустая база той же версии (релиза), что и в облаке. Поскольку конфигурации во «Фреше» обновляются часто, важно уточнить номер релиза в разделе «О программе»..cf можно запросить у клиента (выгрузить из его локальной копии, если она есть) или воспользоваться программой «1С:Предприятие через интернет для разработчиков», которая дает легальный доступ к дистрибутивам для целей разработки.Проанализируем ситуацию с лицензиями. Для разработки расширения недостаточно иметь Комьюнити-лицензию. Важно понимать разграничения:
Любое расширение, загружаемое во «Фреш», проходит обязательную проверку специалистами фирмы «1С». Чтобы минимизировать риск отказа и успешно пройти аудит, рекомендуется предварительно использовать статический анализатор кода или выполнить глубокий анализ расширений на наличие ошибок. Также необходимо соблюдать следующие правила:
1. Безопасный режим. Расширение должно корректно работать при установленном флаге БезопасныйРежим = Истина. Это накладывает запрет на использование небезопасных методов. Выясним, какие действия запрещены:
Выполнить() и оператора Вычислить().Для стандартизации разработки интерфейса в условиях ограничений безопасного режима часто применяется программное изменение форм, что позволяет избежать лишних конфликтов метаданных.
2. Префиксы объектов. Все новые объекты (справочники, документы, реквизиты), добавленные в расширении, должны иметь уникальный префикс, согласованный с правилами сервиса (например, ПР_МойОбъект). Это исключает конфликты при обновлении основной конфигурации.
3. Использование 1C:EDT. Современный стандарт разработки под «Фреш» предполагает использование среды 1C:EDT, в чем новичкам поможет материал Начало 1С:EDT+1С:Напарник. В ней встроены механизмы проверки кода на соответствие требованиям облачного сервиса, что позволяет выявить ошибки до отправки на аудит. Кроме того, для эффективной командной разработки полезно изучить приемы быстрой работы в EDT/Git.
Посмотрим на алгоритм публикации расширения в сервисе:
.cfe).Рассмотрим пример кода, который часто вызывает вопросы при аудите. Если вам необходимо выполнить запрос к внешнему HTTP-сервису, это должно быть оформлено через разрешенные методы интеграции:
// Пример правильного оформления HTTP-запроса в расширении
Соединение = Новый HTTPСоединение("api.service.ru", , , , , 10, Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос("/v1/data");
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
// Обработка результата
КонецЕсли;
Помните, что использование ЗащищенноеСоединениеOpenSSL() является обязательным требованием для работы с внешними ресурсами в облаке.
Проанализируем риски обновлений. Конфигурации в «Фреше» обновляются автоматически и зачастую раньше, чем выходят официальные релизы для локальных версий. Мы рекомендуем регулярно проверять совместимость вашего расширения на тестовых приложениях («песочницах»), которые предоставляются партнерам сервиса, чтобы при очередном обновлении облака расширение клиента не отключилось автоматически из-за критических ошибок компиляции.