Разработка под облачный сервис 1С:Фреш (1C:Fresh) существенно отличается от привычного создания доработок для локальных информационных баз. Здесь недостаточно просто написать рабочий код — необходимо, чтобы он соответствовал жестким стандартам безопасности, производительности и архитектурным особенностям мультиарендной среды. В этой статье мы подробно разберем, какие требования предъявляются к разработчикам, как устроен процесс проверки и на что обратить внимание при написании кода, чтобы ваше решение не было отклонено аудиторами.
На сегодняшний день персонального именного сертификата с заголовком «Разработчик под 1С:Фреш» (по аналогии с 1С:Специалист) не существует. Однако для компаний-партнеров предусмотрен важный статус — «1С:Готово к переходу в облако». Этот статус подтверждает, что решения партнера адаптированы для работы в облачной инфраструктуре и прошли соответствующую проверку.
Для индивидуального разработчика мерилом профессионализма в этой области является глубокое знание Библиотеки стандартных подсистем (БСП) и требований подсистемы «Технология публикации решений 1С:Предприятие.Облако». Если вы планируете заниматься такой разработкой, ориентируйтесь на изучение стандартов разработки фирмы «1С» и механизмов безопасного режима.
Рассмотрим по шагам, как ваша обработка или расширение попадает в сервис. Важно понимать, что аудит — это не просто формальность, а гибридный процесс, состоящий из двух ключевых этапов:
Выполнить или УстановитьПривилегированныйРежим), проверяет наличие опасных конструкций и базовое соответствие стандартам. Если робот находит ошибки, аудит завершается мгновенно с предоставлением отчета.Проанализируем ситуацию, когда разработчики сталкиваются с отказом из-за запросов, которые в обычной базе работают годами. В «1С:Фреш» тысячи компаний работают в одной физической базе данных, разделенной на логические области. Это накладывает свои ограничения:
Все расширения во «Фреше» функционируют строго в Безопасном режиме. Разберем подробнее, что это означает для программиста:
1. Запрет на использование COM-объектов. Вы не сможете вызвать Новый COMОбъект("Excel.Application") или аналогичные конструкции. Для интеграции необходимо использовать современные методы:
2. Ограничение доступа к файловой системе. Прямой доступ к дискам сервера (например, C:\Temp) категорически запрещен. Работа с файлами должна быть организована исключительно через временные хранилища и диалоговые окна на стороне клиента. Рассмотрим пример правильной передачи файла:
// Правильный подход: использование временного хранилища
&НаКлиенте
Процедура ЗагрузитьФайл()
Описание = Новый ОписаниеПередаваемогоФайла("C:\MyDoc.txt");
ПередаваемыеФайлы = Новый Массив;
ПередаваемыеФайлы.Добавить(Описание);
НачатьПомещениеФайлов(Новый ОписаниеОповещения("ЗавершитьЗагрузку", ЭтотОбъект), ПередаваемыеФайлы, , Ложь);
КонецПроцедуры
3. Сетевые запросы и разрешения. Любое обращение к внешним ресурсам (API банков, курьерских служб и т.д.) должно быть явно задекларировано. В аннотации к расширению необходимо указать конкретные URL-адреса, к которым будет обращаться программа. Если разработчик попытается вызвать HTTPСоединение к ресурсу, не описанному в профиле безопасности, система выдаст ошибку.
Выясним причину, по которой аудиторы часто заставляют переписывать код с использованием методов БСП. Библиотека стандартных подсистем содержит функции, которые уже оптимизированы для работы в облаке и учитывают все нюансы безопасности. Например, вместо написания собственного механизма фонового выполнения задачи, следует использовать подсистему ДлительныеОперации.
Рассмотрим основные требования к оформлению кода:
Если вы создаете тиражное решение, финальной целью может стать публикация в Магазине расширений. Это высшая ступень доверия в экосистеме «Фреш». Чтобы туда попасть, ваше решение пройдет дополнительный контроль:
Подводя итог, разработка под «1С:Фреш» — это отличный способ повысить свою квалификацию как разработчика. Соблюдение стандартов 1С, отказ от «грязных» хаков и использование механизмов БСП позволят вам создавать надежные и быстрые решения, которые легко пройдут любой аудит.