Все темы | Напишите письмо | Закрыть |
В этой статье даны советы о том, как следует подготавливать расширения конфигурации, дополнительные отчеты и обработки для работы в сервисе, чтобы обеспечить их надлежащее качество и чтобы они могли быстро пройти аудит.
Содержание
1.1 Основные причины отказа
В расширениях конфигурации, не прошедших аудит, в большинстве случаев обнаруживается, что:
1.2 Особенности расширений конфигурации
1.3 Полезная информация
2.1 Основные причины отказа
В дополнительных отчетах и обработках, не прошедших аудит, в большинстве случаев обнаруживается, что:
2.2 Подключение дополнительного отчета/обработки к БСП
Регистрация дополнительного отчета или обработки в информационной базе происходит на основании параметров регистрации, которые поставляет отчет/обработка. Эти параметры регистрации должны формироваться в виде структуры как результат выполнения функции СведенияОВнешнейОбработке модуля отчета/обработки:
Описание полей структуры параметров регистрации приведено в документации БСП по ссылке.
Параметры регистрации включают таблицу команд, поставляемых дополнительным отчетом (дополнительной обработкой):
Вид дополнительного отчета/обработки, тип использования поставляемых команд должен соответствовать замыслу дополнительного отчета/обработки.
2.3 Обращение к дополнительному отчету/обработке из кода
Следует учесть, что нельзя обращаться к дополнительному отчету/обработке по имени, например:
ВнешняяОбработка.ПерепроведениеДокументовПоследовательно
Дополнительный отчет/обработка подключается к информационной базе с другим именем (уникальным идентификатором). Поэтому для формирования обращения к дополнительному отчету/обработке следует в обработчике ПриСозданииНаСервере определить полное имя подключенного отчета/обработки следующим образом:
ПолноеИмяОбъекта = РеквизитФормыВЗначение("Объект").Метаданные().ПолноеИмя();
И далее обращаться к дополнительному отчету/обработке следующим образом:
ПолноеИмяОбъекта + ".ПерепроведениеДокументов"
2.4 Отладка дополнительного отчета/обработки
При отладке дополнительного отчета или обработки открывайте его не через главное меню: Файл – Открыть, а через интерфейс подсистемы дополнительных отчетов и обработок БСП.
Открывайте и проверяйте обработку не c правами администратора, а с набором прав тех пользователей, которые будут использовать обработку.
3.1 Безопасный режим
Все расширения конфигурации, дополнительные отчеты/обработки выполняются в сервисе в безопасном режиме с использованием профилей безопасности.
В безопасном режиме запрещены следующие операции:
Подробнее о безопасном режиме можно прочесть в документации по «1С:Предприятию» по ссылке.
3.2 Профили безопасности
Некоторые действия, запрещенные в безопасном режиме, могут быть разрешены с помощью профилей безопасности.
Профиль безопасности – это набор явно заданных разрешений на выполнение определенных действий, который можно назначать информационным базам, расширениям конфигурации, дополнительным отчетам и обработкам. Профили безопасности хранятся в кластере серверов «1С:Предприятия».
Профили безопасности автоматически формируются (при необходимости) для расширений конфигурации, дополнительных отчетов и обработок, загружаемых в сервис:
Подробнее о профилях безопасности можно прочесть в документации по «1С:Предприятию» по ссылке и в разделах Профили безопасности глав «Настройка и использование подсистем при разработке конфигурации» и «Программный интерфейс» документации Библиотеки стандартных подсистем (БСП), см. здесь и здесь.
3.3 Какие небезопасные методы можно, и какие нельзя использовать
В расширениях конфигурации, дополнительных отчетах и обработках, предназначенных для использования в сервисе 1cfresh.kz, можно использовать следующие небезопасные операции:
Запрещается использовать:
Учтите, что небезопасные операции запрещены только на сервере!
3.4 Запрос разрешений для расширений конфигурации
Если в расширении конфигурации используются операции, не разрешенные в безопасном режиме, то при загрузке версии расширения в сервис необходимо указать необходимые разрешения на выполнение небезопасных операций (подробнее см. в статье по ссылке):
Разрешения на доступ к внешним компонентам, входящим в состав конфигурации, запрашивать не надо, они будут предоставлены автоматически.
3.5 Запрос разрешений для дополнительных отчетов и обработок
При необходимости использования в дополнительном отчете или обработке операций, не разрешенных в безопасном режиме:
Описания указанных выше функций см. по ссылке. Пример использования вызовов этих функций показан в обработке _ДемоЗагрузкаНоменклатурыИзПрайсЛистаПрофилиБезопасности из Демонстрационной конфигурации «Библиотека стандартных подсистем».
РаботаВБезопасномРежиме.РазрешениеНаИспользованиеВнешнейКомпоненты
РаботаВБезопасномРежиме.РазрешениеНаИспользованиеИнтернетРесурса
Расширения конфигурации, дополнительные отчеты и обработки не должны вызывать деградацию производительности сервиса. Поэтому используемые запросы на встроенном языке должны быть оптимально построены и соответствовать стандартам (подробнее см. здесь и здесь). Типичные причины неоптимальной работы запросов и методы оптимизации запросов рассмотрены в статье 1С:ИТС по ссылке.
Особое внимание следует уделить оптимизации:
Частые формулировки отказа:
При написании расширения конфигурации, дополнительного отчета и обработки необходимо избегать кода, выполнение которого может привести к неоправданно повышенному потреблению процессорного времени. В первую очередь это касается «пустых» циклов:
Следует избегать универсальных расширений конфигурации, дополнительных обработок, особенно если они могут изменять данные пользователей. Следует создавать расширения и обработки, направленные на решение конкретных задач. Универсальные расширения и обработки опасны по следующим причинам:
Частые формулировки отказа:
При доступе к временным файлам необходимо следовать требованиям стандартов, описанным по ссылке. В частности, неправильно писать:
ТемпФайл = "/tmp/temx.txt"
Правильно:
ТемпФайл = ПолучитьИмяВременногоФайла("txt")
При этом:
Также необходимо обеспечить удаление временных файлов после использования.
Частые формулировки отказа:
При разработке расширений конфигурации, дополнительных отчетов и обработок необходимо учитывать следующие требования.
ОбменДанными.Загрузка = Истина
Аудит расширений конфигурации, дополнительных отчетов и обработок
Требования к дополнительным отчетам и обработкам
Требования к расширениям конфигурации
Как добавить для своего клиента расширение, дополнительный отчет или обработку?
Примеры дополнительных отчетов и обработок
Доработка прикладных решений с помощью расширений конфигурации