МИНИСТЕРСТВО ИНФОРМАЦИОННОГО РАЗВИТИЯ И СВЯЗИ ПЕРМСКОГО КРАЯ

Утвержден

ЕДИНАЯ ИНФОРМАЦИОННАЯ СИСТЕМА УПРАВЛЕНИЯ ФИНАНСОВО-ХОЗЯЙСТВЕННОЙ ДЕЯТЕЛЬНОСТЬЮ ОРГАНИЗАЦИЙ ГОСУДАРСТВЕННОГО СЕКТОРА ПЕРМСКОГО КРАЯ

ЕИС УФХД ПК

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

На 1110 листах

Пермь

2018

Содержание

Перечень терминов, сокращений и обозначений        3

1        Общие требования        4

2        Требования по использованию безопасного режима        4

3        Требования по использованию форм        5

4        Требования для проведения аудита        5

5        Требования к ресурсоемкости        5

6        Требования к работоспособности        6

7        Требования к передаче данных за пределы сервиса        6

8        Юридические требования        7

9        Требования к тестированию        7

10        Методические рекомендации        8

10.1        Примеры расширений конфигурации        8

10.2        Рекомендации по разработке        8

10.3        О копировании кода из типовой конфигурации        9

НЕ нашли? Не то? Что вы ищете?

10.4        Работа с базой данных        9

10.5        Работа в веб-клиенте        9

10.6        О безопасности данных пользователя        10

Перечень терминов, сокращений и обозначений

Используемые в настоящем документе термины, сокращения и обозначения представлены в таблице ниже (Таблица 1).

Таблица 1 – Перечень терминов, сокращений и обозначений

Термин, сокращение, обозначение

Полная форма

БСП

Библиотека стандартных подсистем

ИТС

Информационно-технологическое сопровождение

«Тонкий» клиент

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

COM

(от англ. Component Object Model) – это технологический стандарт от компании Microsoft, предназначенный для создания программного обеспечения на основе взаимодействующих компонентов объекта, каждый из которых может использоваться во многих программах одновременно


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

Общие требования

Расширения конфигурации должны создаваться на локальном компьютере разработчика с помощью конфигуратора «1С:Предприятие 8» и сохраняться в файл *cfe.

Для разработки и использования расширений конфигурации необходима технологическая платформа «1С:Предприятие 8» версии 8.3.6 или более новая (рекомендуется версия «1С:Предприятия 8» 8.3.8 или более новая).

Расширение конфигурации необходимо разрабатывать:

    в соответствии с требованиями, приведенными в документации по «1С:Предприятию 8»: «Руководство разработчика», глава «Расширение конфигурации» (https://its.1c. ru/db/v8312doc#bookmark:dev:TI000001513); с соблюдением стандартов и методик разработки конфигураций для технологической платформы «1С:Предприятие 8» (https://its.1c. ru/db/v8std).

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

Требования по использованию безопасного режима

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

При использовании безопасного режима не допускается выполнение кода сторонними (не входящими в состав конфигурации) средствами.

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

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

Требования по использованию форм

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

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

Расширение конфигурации не должно использовать модальные формы.

Расширение конфигурации не должно использовать синхронные клиентские вызовы.

Требования для проведения аудита

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

    поставлять модули без исходных текстов или с установленным паролем на модуль; использовать средства запутывания (обфускации) исходных текстов.
Требования к ресурсоемкости

Расширение конфигурации не должно приводить к чрезмерной нагрузке на компоненты сервиса или клиентское приложение.

Требования к работоспособности

Расширение конфигурации не должно нарушать корректную работу приложения, в котором оно установлено.

Все длительные операции в расширении конфигурации должны использовать механизм длительных операций из библиотеки стандартных подсистем (далее – БСП) (при длительности 10 секунд и более).

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

Требования к передаче данных за пределы сервиса

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

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

Если определить ресурсы сети Интернет, к которым будет выполняться обращение, невозможно, то:

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

Расширение конфигурации не должно содержать:

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

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

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

Примеры расширений конфигурации приведены по ссылке: https:///articles/so_confext#examples.

Рекомендации по разработке

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

Если расширение конфигурации содержит формы, рекомендуется «выдерживать» их в стиле конфигурации, для которой разработано расширение. Например, если в конфигурации принято команду «Записать и закрыть» располагать в верхней части формы, не рекомендуется размещать ее в нижней части формы расширения конфигурации.

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

Не рекомендуется «перегружать» расширение конфигурации.

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

О копировании кода из типовой конфигурации

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

Если код, который есть в типовой конфигурации, подходит не полностью, то:

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

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

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

Рекомендуется обращать внимание на оптимальность запросов: учитывать, что, в отличие от локального режима, информационная база в сервисе используется большим количеством пользователей. Подробнее об оптимизации запросов см. в статье ИТС https://its.1c. ru/db/metod8dev#content:4050:hdoc.

Работа в веб-клиенте

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

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

О безопасности данных пользователя

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

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