Руководство пользователя BioSmart-1C | 2023 | ru

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

Проблема

Пользователь, не обладающий правами администратора может получить ошибку чтения параметров обработки. При этом пользователь с правами Администратора такую ошибку не видит

Причина

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

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

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

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

Об ошибке известно с 2017 года, но в последних версиях платформы она не решена

Решение

Помогает удаление реквизиты обработки и добавление его обратно

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

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

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

Трудоемкость - 16 часов


ООО «Прософт-Биометрикс»
https://www.bio-smart.ru