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

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

Разработка под облачный сервис 1С:Фреш (1C:Fresh) существенно отличается от привычного создания доработок для локальных информационных баз. Здесь недостаточно просто написать рабочий код — необходимо, чтобы он соответствовал жестким стандартам безопасности, производительности и архитектурным особенностям мультиарендной среды. В этой статье мы подробно разберем, какие требования предъявляются к разработчикам, как устроен процесс проверки и на что обратить внимание при написании кода, чтобы ваше решение не было отклонено аудиторами.

Существует ли специальная сертификация для разработчиков?

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

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

Как проходит процесс аудита: робот и человек

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

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

Почему отклоняют «типовые» запросы?

Проанализируем ситуацию, когда разработчики сталкиваются с отказом из-за запросов, которые в обычной базе работают годами. В «1С:Фреш» тысячи компаний работают в одной физической базе данных, разделенной на логические области. Это накладывает свои ограничения:

Работа в безопасном режиме: технические ограничения

Все расширения во «Фреше» функционируют строго в Безопасном режиме. Разберем подробнее, что это означает для программиста:

1. Запрет на использование COM-объектов. Вы не сможете вызвать Новый COMОбъект("Excel.Application") или аналогичные конструкции. Для интеграции необходимо использовать современные методы:

2. Ограничение доступа к файловой системе. Прямой доступ к дискам сервера (например, C:\Temp) категорически запрещен. Работа с файлами должна быть организована исключительно через временные хранилища и диалоговые окна на стороне клиента. Рассмотрим пример правильной передачи файла:


// Правильный подход: использование временного хранилища
&НаКлиенте
Процедура ЗагрузитьФайл()
    Описание = Новый ОписаниеПередаваемогоФайла("C:\MyDoc.txt");
    ПередаваемыеФайлы = Новый Массив;
    ПередаваемыеФайлы.Добавить(Описание);
    
    НачатьПомещениеФайлов(Новый ОписаниеОповещения("ЗавершитьЗагрузку", ЭтотОбъект), ПередаваемыеФайлы, , Ложь);
КонецПроцедуры

3. Сетевые запросы и разрешения. Любое обращение к внешним ресурсам (API банков, курьерских служб и т.д.) должно быть явно задекларировано. В аннотации к расширению необходимо указать конкретные URL-адреса, к которым будет обращаться программа. Если разработчик попытается вызвать HTTPСоединение к ресурсу, не описанному в профиле безопасности, система выдаст ошибку.

Использование Библиотеки стандартных подсистем (БСП)

Выясним причину, по которой аудиторы часто заставляют переписывать код с использованием методов БСП. Библиотека стандартных подсистем содержит функции, которые уже оптимизированы для работы в облаке и учитывают все нюансы безопасности. Например, вместо написания собственного механизма фонового выполнения задачи, следует использовать подсистему ДлительныеОперации.

Рассмотрим основные требования к оформлению кода:

Интеграция с «1С:Магазин расширений»

Если вы создаете тиражное решение, финальной целью может стать публикация в Магазине расширений. Это высшая ступень доверия в экосистеме «Фреш». Чтобы туда попасть, ваше решение пройдет дополнительный контроль:

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

← На главную