Нарушение прав доступа при создании письма в 1С:КА 2.4 после обновления

Системный администратор 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация
← На главную

После обновления конфигурации «Комплексная автоматизация 2.4» (например, до релиза 2.4.13.х) многие пользователи сталкиваются с проблемой: при попытке создать новое исходящее электронное письмо система выдает ошибку «Нарушение прав доступа». При этом ошибка возникает только у пользователей, не обладающих «Полными правами». Временным решением является отключение регламентного задания «Получение и отправка электронных писем», но это останавливает весь автоматический почтовый обмен.

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

Анализ проблемы и ее истинная причина

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

Рассмотрим стек вызовов, который приводит к ошибке. Пользователь предоставил подробный лог, который помогает нам понять последовательность действий программы:


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

Проанализируем эту последовательность по шагам:

  1. Все начинается в форме списка журнала документов Взаимодействия, где вызывается процедура ПроверитьСостояниеОтправкиПисемНаСервере.
  2. Эта процедура обращается к общему модулю Взаимодействия, чтобы определить, приостановлена ли отправка писем (функция ОтправкаПисемПриостановлена).
  3. Внутри этого модуля для проверки статуса происходит вызов серверной функции РегламентныеЗаданияСервер.НайтиЗадания.
  4. И вот здесь кроется корень проблемы: функция поиска регламентных заданий в модуле РегламентныеЗаданияСервер перед выполнением основного кода вызывает процедуру ВызватьИсключениеЕслиНетПраваАдминистрирования.

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

Важный момент: Данная проблема официально зарегистрирована разработчиками 1С под кодом ошибки 00-00329314. Это означает, что проблема известна и для нее существует или готовится официальное решение.

Способы решения проблемы

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

Решение 1: Установка официального исправления (патча)

Это самый правильный и рекомендуемый способ. Фирма "1С" выпускает специальные исправления (патчи) для оперативного устранения критических ошибок, не дожидаясь выхода полноценного нового релиза. Установить патч можно прямо из режима «Предприятие».

Выполним следующие шаги:

  1. Запустите 1С:Предприятие с правами администратора.
  2. Перейдите в раздел «Администрирование» – «Обслуживание».
  3. В группе «Обновление программы» выберите пункт «Установка исправлений (патчей)».
  4. Система предложит найти и установить доступные исправления автоматически из интернета. Согласитесь с предложением.
  5. После установки патча, который исправляет ошибку 00-00329314, перезапустите программу. Проблема должна быть устранена.

Важно: Для автоматической загрузки патчей у вас должна быть настроена Интернет-поддержка пользователей в программе и действующий договор 1С:ИТС.

Решение 2: Обновление конфигурации до следующего релиза

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

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

Решение 3: Временное и нерекомендуемое

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

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

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

← На главную