После обновления конфигурации «Комплексная автоматизация 2.4» (например, до релиза 2.4.13.х) многие пользователи сталкиваются с проблемой: при попытке создать новое исходящее электронное письмо система выдает ошибку «Нарушение прав доступа». При этом ошибка возникает только у пользователей, не обладающих «Полными правами». Временным решением является отключение регламентного задания «Получение и отправка электронных писем», но это останавливает весь автоматический почтовый обмен.
Давайте подробно разберемся, в чем причина этой ошибки и как ее правильно исправить, не прибегая к отключению важных функций системы.
Основная проблема заключается не в настройках профилей доступа или устаревших ролях пользователей, а в ошибке, допущенной в коде самой конфигурации в одном из обновлений. Суть ошибки в том, что при открытии формы создания письма система пытается проверить статус регламентного задания отправки почты. Эта проверка ошибочно требует от текущего пользователя прав администрирования.
Рассмотрим стек вызовов, который приводит к ошибке. Пользователь предоставил подробный лог, который помогает нам понять последовательность действий программы:
Нарушение прав доступа.
{ОбщийМодуль.РегламентныеЗаданияСервер.Модуль(1010)}: ВызватьИсключение НСтр("ru = 'Нарушение прав доступа.'");
{ОбщийМодуль.РегламентныеЗаданияСервер.Модуль(64)}: ВызватьИсключениеЕслиНетПраваАдминистрирования;
{ОбщийМодуль.Взаимодействия.Модуль(8622)}: СписокЗаданий = РегламентныеЗаданияСервер.НайтиЗадания(Новый Структура("Метаданные",
{ОбщийМодуль.Взаимодействия.Модуль(8573)}: И (Не ВключеноРегламентноеЗаданиеПолученияИОтправкиПисем Или ЕстьЗадержкаВыполненияЗаданияПолученияИОтправкиПисем);
{ЖурналДокументов.Взаимодействия.Форма.ФормаСписка.Форма(4216)}: Элементы.ПредупреждениеОНеотправленныхПисьмах.Видимость = Взаимодействия.ОтправкаПисемПриостановлена;
{ЖурналДокументов.Взаимодействия.Форма.ФормаСписка.Форма(70)}: ПроверитьСостояниеОтправкиПисемНаСервере;
Проанализируем эту последовательность по шагам:
Взаимодействия, где вызывается процедура ПроверитьСостояниеОтправкиПисемНаСервере.Взаимодействия, чтобы определить, приостановлена ли отправка писем (функция ОтправкаПисемПриостановлена).РегламентныеЗаданияСервер.НайтиЗадания.РегламентныеЗаданияСервер перед выполнением основного кода вызывает процедуру ВызватьИсключениеЕслиНетПраваАдминистрирования.Таким образом, обычный пользователь, у которого нет и не должно быть прав администратора, не может пройти эту проверку, и система генерирует исключение «Нарушение прав доступа». Это подтверждает, что попытки настроить профили доступа, даже выдавая все возможные роли (кроме административных), не принесут результата.
Важный момент: Данная проблема официально зарегистрирована разработчиками 1С под кодом ошибки 00-00329314. Это означает, что проблема известна и для нее существует или готовится официальное решение.
Зная, что это зарегистрированная ошибка конфигурации, рассмотрим правильные пути ее устранения.
Это самый правильный и рекомендуемый способ. Фирма "1С" выпускает специальные исправления (патчи) для оперативного устранения критических ошибок, не дожидаясь выхода полноценного нового релиза. Установить патч можно прямо из режима «Предприятие».
Выполним следующие шаги:
00-00329314, перезапустите программу. Проблема должна быть устранена.Важно: Для автоматической загрузки патчей у вас должна быть настроена Интернет-поддержка пользователей в программе и действующий договор 1С:ИТС.
Если по каким-то причинам установка патча невозможна, остается дождаться следующего официального релиза конфигурации. Как правило, все зарегистрированные и подтвержденные ошибки исправляются в ближайших обновлениях.
Вы можете отслеживать статус исправления ошибки 00-00329314 на официальном портале 1С. В карточке ошибки будет указано, в каком именно номере релиза проблема была решена. После выхода этого релиза необходимо будет выполнить стандартную процедуру обновления конфигурации.
В качестве временной «заплатки», если отправка писем прямо сейчас не критична, можно отключить регламентное задание Получение и отправка электронных писем. Это уберет ошибку, но и остановит автоматический обмен почтой. Включать его придется вручную для отправки и получения корреспонденции, что крайне неудобно.
Выдача пользователю временных административных прав — крайне небезопасный и нерекомендуемый способ, поскольку он открывает доступ к критически важным настройкам системы и может повлечь за собой другие проблемы.
Таким образом, столкнувшись с данной ошибкой, не тратьте время на перенастройку прав и профилей. Сразу проверяйте наличие официальных исправлений от 1С или планируйте обновление на следующий релиз, где эта проблема уже решена.