Часто задаваемые вопросы
Все темы Напишите письмо Закрыть
?
Служба поддержки 9:00-18:00+7 (7172) 95-42-40
+7 705 125 00 43
× Логин или пароль введены неправильно. Попробуйте еще раз.

Как быстро пройти аудит расширения, дополнительного отчета или обработки?

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

Содержание

  1. Рекомендации по подготовке расширений конфигурации
  2. Рекомендации по подготовке дополнительных отчетов и обработок
  3. Как использовать методы, запрещенные в безопасном режиме
  4. Вопросы производительности
  5. Универсальные обработки и расширения
  6. Использование временных файлов
  7. Прочие вопросы

 

1. Рекомендации по подготовке расширений конфигурации

1.1 Основные причины отказа

В расширениях конфигурации, не прошедших аудит, в большинстве случаев обнаруживается, что:

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

1.2 Особенности расширений конфигурации

  • У расширения должны быть заданы уникальное имя и версия расширения.
  • Разработка должна выполняться на той же версии платформы.
  • Необходима адаптация к безопасному режиму и режиму разделения данных.

1.3 Полезная информация

  • Необходимо выполнять требования, указанные в Руководстве разработчика «1С:Предприятия 8.3»: глава «Расширение конфигурации» (см. по ссылке).
  • Если расширение содержит формы, разработчик должен обеспечить их работоспособность в веб-клиенте под всеми веб-браузерами, поддерживаемыми технологической платформой «1С:Предприятие 8».

2. Рекомендации по подготовке дополнительных отчетов и обработок

2.1 Основные причины отказа

В дополнительных отчетах и обработках, не прошедших аудит, в большинстве случаев обнаруживается, что:

  • дополнительный отчет или обработка неправильно подключены к БСП.
  • дополнительный отчет или обработка не предназначены для выполнения в безопасном режиме.
  • дополнительный отчет или обработка не подготовлены к использованию в  сервисе.
  • имеется неверное обращение к дополнительному отчету/обработке из кода.

2.2 Подключение дополнительного отчета/обработки к БСП

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

Описание полей структуры параметров регистрации приведено в документации БСП по ссылке.

Параметры регистрации включают таблицу команд, поставляемых дополнительным отчетом (дополнительной обработкой):

  • для глобальных дополнительных отчетов/обработок эти команды размещаются в глобальном командном интерфейсе;
  • для назначаемых дополнительных отчетов/обработок эти команды размещаются в контексте тех объектов, для которых они предназначаются, при этом в параметрах регистрации дополнительного отчета/обработки должны быть указаны объекты назначения (массив строк имен объектов метаданных).

Вид дополнительного отчета/обработки, тип использования поставляемых команд должен соответствовать замыслу дополнительного отчета/обработки.

2.3 Обращение к дополнительному отчету/обработке из кода

Следует учесть, что нельзя обращаться к дополнительному отчету/обработке по имени, например:

ВнешняяОбработка.ПерепроведениеДокументовПоследовательно

Дополнительный отчет/обработка подключается к информационной базе с другим именем (уникальным идентификатором). Поэтому для формирования обращения к дополнительному отчету/обработке следует в обработчике ПриСозданииНаСервере определить полное имя подключенного отчета/обработки следующим образом:

ПолноеИмяОбъекта = РеквизитФормыВЗначение("Объект").Метаданные().ПолноеИмя();

И далее обращаться к дополнительному отчету/обработке следующим образом:

ПолноеИмяОбъекта + ".ПерепроведениеДокументов"

2.4 Отладка дополнительного отчета/обработки

При отладке дополнительного отчета или обработки открывайте его не через главное меню: Файл – Открыть, а через интерфейс подсистемы дополнительных отчетов и обработок БСП.

Открывайте и проверяйте обработку не c правами администратора, а с набором прав тех пользователей, которые будут использовать обработку.

3. Как использовать методы, запрещенные в безопасном режиме

3.1 Безопасный режим

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

В безопасном режиме запрещены следующие операции:

  • выполнение методов Выполнить() и Вычислить(),
  • привилегированный режим,
  • работа с внешними компонентами,
  • работа с файловой системой, кроме временных файлов,
  • работа с приложениями операционной системы,
  • COM-объекты (серверный код может выполняться на Linux, мы не можем гарантировать наличие COM-объектов на сервере),
  • доступ к Интернету и др.

Подробнее о безопасном режиме можно прочесть в документации по «1С:Предприятию» по ссылке.

3.2 Профили безопасности

Некоторые действия, запрещенные в безопасном режиме, могут быть разрешены с помощью профилей безопасности.

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

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

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

3.3 Какие небезопасные методы можно, и какие нельзя использовать

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

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

Запрещается использовать:

  • доступ к файловой системе (кроме доступа к каталогу временных файлов);
  • доступ к COM-объектам (поскольку серверный код может выполняться на Linux, мы не можем гарантировать наличие COM-объектов на сервере);
  • доступ к внешним компонентам, не входящим в состав конфигурации, для которой разработаны расширение конфигурации, дополнительный отчет или обработка;
  • приложения операционной системы;
  • средства криптографии на стороне сервера.
Учтите, что небезопасные операции запрещены только на сервере!

3.4 Запрос разрешений для расширений конфигурации

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

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

3.5 Запрос разрешений для дополнительных отчетов и обработок

При необходимости использования в дополнительном отчете или обработке операций, не разрешенных в безопасном режиме:

Описания указанных выше функций см. по ссылке. Пример использования вызовов этих функций показан в обработке _ДемоЗагрузкаНоменклатурыИзПрайсЛистаПрофилиБезопасности из Демонстрационной конфигурации «Библиотека стандартных подсистем».

  1. Запрашивайте в функции СведенияОВнешнейОбработке дополнительного отчета или обработки нужные разрешения с помощью вызовов функций:
    • РаботаВБезопасномРежиме.РазрешениеНаИспользованиеВнешнейКомпоненты
    • РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса
  2. В функции СведенияОВнешнейОбработке дополнительного отчета или обработки указывайте режим работы дополнительного отчета или обработки Безопасный.

4. Вопросы производительности

Расширения конфигурации, дополнительные отчеты и обработки не должны вызывать деградацию производительности сервиса. Поэтому используемые запросы на встроенном языке должны быть оптимально построены и соответствовать стандартам (подробнее см. здесь и здесь). Типичные причины неоптимальной работы запросов и методы оптимизации запросов рассмотрены в статье 1С:ИТС по ссылке.

Особое внимание следует уделить оптимизации:

  • соединений с виртуальными таблицами, подзапросами (они могут привести к значительному замедлению запроса);
  • отборов с «ИЛИ»;
  • запросов с получением данных через точку от полей составного ссылочного типа (при выполнении такого запроса будет выполняться соединение со всеми таблицами объектов, входящими в составной тип).

Частые формулировки отказа:

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

5. Универсальные обработки и расширения

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

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

Частые формулировки отказа:

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

6. Использование временных файлов

При доступе к временным файлам необходимо следовать требованиям стандартов, описанным по ссылке. В частности, неправильно писать:

ТемпФайл = "/tmp/temx.txt"

Правильно:

ТемпФайл = ПолучитьИмяВременногоФайла("txt")

При этом:

  • гарантируется уникальность имени временного файла;
  • выполняется автоматическая очистка при рестарте рабочего процесса.

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

 

Частые формулировки отказа:

  • для получения имени временного файла необходимо использовать метод ПолучитьИмяВременногоФайла();
  • необходимо удалять временные файлы после использования.

7. Прочие вопросы

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

ОбменДанными.Загрузка = Истина

  1. Длительные операции необходимо выполнять в фоновом режиме (подробнее см. здесь и здесь).
  2. Если пользовательские данные покидают сервис, то пользователь должен дать на это согласие.
  3. Не должна нарушаться штатная логика работы прикладных решений (конфигураций). Не следует отключать штатные механизмы и проверки, например, с помощью конструкций вида:
  4. Не следует скрывать от пользователя системную информацию об ошибках, полученную в операторе Попытка' – Исключение. Без этой информации службе поддержки сервиса будет значительно труднее разбираться в причинах возникновения ошибки.

См. также:

Аудит расширений конфигурации, дополнительных отчетов и обработок

Требования к дополнительным отчетам и обработкам

Требования к расширениям конфигурации

Как добавить для своего клиента расширение, дополнительный отчет или обработку?

Примеры дополнительных отчетов и обработок

Доработка прикладных решений с помощью расширений конфигурации

Справка и поддержка – Приложения сервиса

Справка и поддержка – Информация для партнеров фирмы «1С»

Другие сайты фирмы "1С"

© 1С Казахстан, 2024
Все права защищены. Все торговые марки являются собственностью их правообладателей.
Политика конфиденциальности
Служба поддержки 9:00-18:00:
+7 (7172) 95-42-40
+7 705 125 00 43

support@1cfresh.kz
Партнерам фирмы "1С":
info@1cfresh.kz
RSS
Ваша личная информация под надежной защитой. Ваш браузер соединяется с сайтом по защищенному протоколу HTTPS.
Сайт использует SSL-шифрование для всех передаваемых данных.
Иконка ожидания Ваше приложение готовится к использованию. Пожалуйста, подождите.
Наверх