Ошибка в 1С 8.3 Нарушение прав доступа появляется при попытках обращения пользователя к объекту, прав на который у него нет. Очень часто это происходит при вводе нового пользователя в 1С, доработке программного кода и обновлении программы.
Прочитав эту статью, вы:
- узнаете, на что обращать внимание при возникновении ошибки;
- получите рекомендации по ее устранению;
- ознакомитесь с ответами экспертов БухЭксперт8 на вопросы, связанные с возникновением ошибки.
Содержание
- Причины ошибки
- Ошибка обновления
- Нарушение прав доступа при чтении данных
- Нарушение прав доступа при записи данных
- Работа с внешними отчетами и обработками
- Добавление нового пользователя
- Ответы на вопросы
- Ошибка при проведении документа Реализация (акт, накладная)
- Ошибка при попытке открыть карточку контрагента под определенным пользователем
- Ошибка при открытии внешнего отчета
Нарушение прав доступа 1С 8.3 внешняя обработка СКАЧАТЬ >>
Причины ошибки
С ошибкой Нарушение прав доступа сталкиваются многие пользователи 1С после доработки программного кода и обновления программы. Возможные причины появления ошибки:
- обновление программы на новый релиз;
- попытка чтения или записи данных справочника, документа или регистра пользователем, не имеющим прав на объект;
- использование внешних обработок и отчетов без установки пользователю специальной роли;
- ошибка задания прав новому пользователю 1C.
Ошибка обновления
При обновлении программы текущая конфигурация 1С заменяется новой версией, в которой содержатся выполненные разработчиками доработки. Все изменения, внесенные перед публикацией нового релиза, тестируются, но время от времени ошибки все-таки случаются. Если это произошло, ошибки регистрируются в специальном реестре 1С и исправляются в последующих релизах.
При появлении ошибки Нарушение прав доступа после обновления программы нужно выполнить следующие действия:
- Проверьте, содержится ли ошибка в реестре: Публикация ошибок 1С.
Перейдите по ссылке, в форме поиска ошибок укажите конфигурацию программы и текст ошибки.После нажатия кнопки Найти будет произведен поиск по заданным параметрам. - Для зарегистрированной ошибки обратитe внимание на дату регистрации и релиз исправления ошибки.
- Если заполнена информация в разделе Способ обхода — внимательно ее изучите: это позволит сразу решить проблему, не дожидаясь релиза с исправлениями.
- Обратитесь на горячую линию 1С, если ошибка в реестре еще не зарегистрирована:
- телефон hotlane 1С: (495) 956-11-81;
- E-mail:v8@1c.ru.
Восстановите программу из копии и ждите исправления ошибки в следующем релизе обновления.
БухЭксперт8 советует всегда делать перед обновлением архивные копии базы данных. Это поможет восстановить базу при неудачном обновлении.
Нарушение прав доступа при чтении данных
В 1С существует набор специальных объектов Роль, которые описывают разрешенные действия пользователей. Роли задаются разработчиками в Конфигураторе 1С. При работе в 1С можно пользоваться только этим предопределенным набором. Самостоятельно ввести новую Роль без доработки Конфигурации невозможно.
Каждая Роль включает набор свойств для работы с объектами 1С. Они задают права на чтение, просмотр, изменение, редактирование и т. д. данных в справочниках, документах и регистрах программы.
У роли Чтение контрагентов установлено свойство Чтения на:
Пользователь, которому назначили роль Чтение контрагентов, может считывать данные справочника Контрагенты, но при обращении к справочнику Банки получит ошибку Нарушение прав доступа.
Нарушение прав доступа при записи данных
При записи изменений данных в справочниках, документах и регистрах программа проверяет наличие соответствующих прав у пользователя также, как и при чтении данных,
У роли Добавление и изменение сотрудников установлено свойство Изменение на:
Пользователь, которому назначена роль Добавление и изменение сотрудников, может редактировать данные справочника Сотрудники, но при попытке изменения данных банка получит ошибку Нарушение прав доступа.
Работа с внешними отчетами и обработками
Для работы с внешними отчетами и обработками пользователю нужно назначить одну из ролей:
- Полные права;
- Интерактивное открытие внешних отчетов и обработок.
Как добавить роль Интерактивное открытие внешних отчетов и обработок, описано в статье Как добавить пользователю с правами Бухгалтер права запускать внешние отчеты и обработки?
Пользователь Бухгалтер при открытии файла внешней обработки: кнопка Главное меню — Файл — Открыть — файл Нарушение прав доступа получает ошибку:
- Нарушение прав доступа.
Для исправления ситуации нужно добавить роль Интерактивное открытие внешних отчетов и обработок пользователю, работающему с внешней обработкой.
Добавление нового пользователя
При добавлении новых пользователей БухЭксперт8 рекомендует использовать типовые Профили группы доступа в 1С: раздел Администрирование — Настройки программы — Настройки пользователей и прав.
В 1С заложена автоматическая проверка прав того набора объектов 1С, который определяется профилем групп доступа:
- Администратор;
- Главный бухгалтер;
- Бухгалтер;
- Только чтение;
- и т. д.
Программа скроет все объекты, на которые у пользователя нет прав:
Чтобы ограничить возможность изменения документов определенным пользователям, можно даже не устанавливать специально Дату запрета изменения. Программа сама не даст сохранить изменения пользователям с ограниченными правами:
Использование типовых Профилей групп доступа сводит к минимуму риск возникновения ошибки.
Ответы на вопросы
Ошибка при проведении документа Реализация (акт, накладная)
Создали новую роль в Конфигураторе — только для документа Реализация (акт, накладная). При записи документа программа отрабатывает правильно, а при проведении — выдает ошибку Нарушение прав доступа.
В чем может быть причина?
При записи документа должно быть установлено право изменения этого документа у пользователя. Но при проведении документа помимо него самого задействуются и другие объекты — создаются записи в различные регистры.
Если вы указали в новой роли право только на документ Реализация (акт, накладная), этого недостаточно. По кнопке Дт/Кт уточните, какие регистры используются при проведении документа и добавьте их в новую роль с активными свойствами:
- Чтение;
- Изменение;
- Просмотр;
- Редактирование.
Ошибка при попытке открыть карточку контрагента под определенным пользователем
При попытке открыть карточку Контрагента под определенным пользователем появляется ошибка Нарушение прав доступа. Если в окне ошибки нажать на кнопку Подробно, высветится информация:
- «Справочник.Контрагенты.Форма.БП_ФормаЭлемента.Форма: Ошибка при вызове метода контекста НаборЗаписей.Прочитать() по причине: Нарушение прав доступа».
Что делать?
Ошибка связана с тем, что у пользователя, который отрывает карточку Контрагенты, нет прав на чтение данных из определенного регистра 1С.
Если в подробном описании ошибки программа не указывает регистр, при записи данных в который происходит ошибка, вам придется выяснить это самостоятельно. Для недоработанной типовой конфигурации Бухгалтерия 3.0 при открытии справочника Контрагенты могут использоваться:
- регистр бухгалтерии Хозрасчетный;
- регистр бухгалтерии Курсы валют;
- регистр бухгалтерии Наличие дублей у контрагентов;
- и т. д.
Эти регистры включены в программный модуль справочника Контрагенты.
Проверьте, что у пользователя есть права на эти регистры. Более серьезный анализ ситуации выполняется по программному коду процедуры открытия формы справочника.
Эта работа требует особой подготовки и квалификации.
Ошибка при открытии внешнего отчета
При попытке открыть внешний отчет 1С появляется ошибка Нарушение прав доступа. Все остальные отчеты внутри программы открываются нормально. В чем может быть причина?
Для открытия внешних отчетов и обработок 1С необходимо добавить пользователю роль Интерактивное открытие внешних отчетов и обработок. После этого он сможет работать с внешним отчетом без ошибок.
Подробнее Как добавить роль Интерактивное открытие внешних отчетов и обработок
См. также:
- У пользователя недостаточно прав на исполнение операции
- Конфигурация узла распределенной ИБ не соответствует ожидаемой
- 1C Отчетность: не удалось расшифровать файл
- Этот хост неизвестен 1С: как исправить
- Ошибка при выполнении операции с информационной базой 1С 8.3
Если Вы еще не являетесь подписчиком системы БухЭксперт8:
Активировать демо-доступ бесплатно →
или
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Подписывайтесь на наши YouTube и Telegram чтобы не пропустить
важные изменения 1С и законодательства
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Форум консультаций по прикладным решениям и программам фирмы «1С».
Онлайн консультации, вопросы и ответы, бесплатная регистрация, личная страница, twitter и facebook каналы и многое другое ждут Вас здесь.
Зарегистрироваться ← Ваш выбор → Войти на форум
-
Добрый день, я работаю в 1С:Предприятие 8.2 (8.2.15.301), пытаюсь удалить документ, пометила его на удаление, а совсем удалить его не могу. Работаю одна, больше в ней никто не работает. Пытаюсь удалить, программа пишет (нарушение прав доступа). что делать, подскажите пожалуйста
-
Реклама на форуме
Чтобы убрать:
-
Операции->Удаление помеченных объектов. Или в режиме конфигуратора дать себе «Полные права»
Похожие темы
07.09.2012, 09:31
#1
Гость форума
Проблема с удалением помеченных объектов 1С Предприятие 8.3
Бухгалтерия 1С Предприятие 8.3 . Есть объекты помеченные на удаление, созданные в текущем квартале. Стоит дата запрета изменения данных — конец прошлого квартала. При запуске «Удаление объектов помеченных на удаление» выдается ошибка: {Обработка.УдалениеПомечен ныхОбъектов.МодульМенедже� �а(181)}: Ошибка при вызове метода контекста (Удалить Объекты) Удалить Объекты(УдаляемыеОбъекты, Истина, НайденныеДанные); по причине: Ошибка при выполнении обработчика-«ПередЗаписью» по причине: {ОбщийМодуль.ДатыЗапретаИз менения.Модуль(783)}: Для проверки запрета изменения не найдены источники данных для таблицы «РегистрНакопления.КнигаУч етаДоходовПатент». УдалитьОбъекты(УдаляемыеО� �ъекты, Истина, НайденныеДанные);
При чем, если убрать дату запрета изменения данных, то все удаляется нормально.
11.10.2012, 22:05
#2
Пришел за помощью
Че за 8.3? Нетиповая что ли:)))))) платформа?
Заходите ко мне в гости http://sib-digital.ru/
Нарушение прав доступа! (удаление элемента справочника) |
Я |
06.10.11 — 12:12
8.1 При программном удалении элемента справочника выскакивает эта ошибка.
{Справочник.хз_СтатьиЗатрат.Форма.ФормаСписка(39)}: Ошибка при вызове метода контекста (Удалить): Нарушение прав доступа!
Выборка.ПолучитьОбъект().Удалить();
где Выборка.ПолучитьОбъект() тип СправочникОбъект.хз_СтатьиЗатрат
Права пользователей были немного подрезаны. Но на этот справочник у юзверя есть все права, кроме интерактивного удаления. Тем не менее эта ошибка — в чем тут дело?
1 — 06.10.11 — 12:14
В обработке удаления видимо режутся связанные объекты, на которые прав уже нет.
2 — 06.10.11 — 12:18
Удалить() это стандартный метод СправочникОбъект.<Имя справочника>
3 — 06.10.11 — 12:23
(2) Я очень рад.
4 — 06.10.11 — 12:24
А еще бывает событие «перед удалением» в модуле справочника.
5 — 06.10.11 — 12:27
(2) -> (1) Есть настройки, например, у регистра сведений, которые удаляют записи в случае удаления измерения
6 — 06.10.11 — 12:27
(4) уже смотрел. нет такого. есть только ПередЗаписью.
7 — 06.10.11 — 12:28
(6) регистры сведений все проверил?
8 — 06.10.11 — 12:28
(5) + ну а на сам регистр ограниченные права
(6) сделай поиск ссылок на справочник, и проверь права на найденные регистры
9 — 06.10.11 — 12:42
Владельца у справочника нет. Ни с какими регистрами он не связан.
Поиск ссылок в объекте показал на ПодсистемаХЗ, которой справочник принадлежит и 2 перечисления: Перечисление.ОтнесениеРасходовКДеятельностиЕНВД
Перечисление.ВидыРасходовНУ
У юзера есть права только на ПодсистемуХЗ. Перечисления в ролях не присутствуют. Но сами перечисления присутствуют в других подсистемах. Попытался дать юзеру права на эти подсистемы — толку нет.
Подскажите, может вобще не обрезать пользователю права по подсистемам? На что это влияет?
10 — 06.10.11 — 12:43
Да и мне вобще непонятно, какая тут может быть связанная информация? Я получил объект справочника, но не могу его удалить. Почему?
11 — 06.10.11 — 12:46
Дал юзеру права на все подсистемы — толку нет. Значит дело не в подсистемах, а непосредственно в правах роли юзера. Но как понять, чего не хватает?
12 — 06.10.11 — 12:54
(10) приколист,
на твой справочник сидят ссылки в тыще мест
в других справочниках, Рг и х.з. где ещё
13 — 06.10.11 — 12:57
(12) на мой справочник нет ни одной ссылки в конфигурации. Есть толко из него, те, которые в (9)
14 — 06.10.11 — 12:58
(13) тогда пометь его на удаление и запусти штатную обработку
далее зырь журнал
15 — 06.10.11 — 13:58
(14) не понял. Пометить элемент справочника на удаление? Какую штатную обработку? Удаление помеченных объектов?
16 — 06.10.11 — 14:03
(15) Поставлю вопрос по-другому. Имеется справочник, при открытии которого удаляются некоторые элементы по условию. Код:
Выборка = Справочники.хз_СтатьиЗатрат.ВыбратьИерархически();
Пока Выборка.Следующий() = 1 Цикл
Если Условие Тогда
Выборка.ПолучитьОбъект().Удалить();
В последней строке выскакивает сообщение об ошибке удаления. Какие тут могут быть зависимости или может быть стандартные механизмы обработки удаления справочников в общих модулях или еще где-нибудь? Я вобще не воткну в чем трабл: получаю элемент справочника, у пользователя все права на справочник (справочник от пользователя открывается), почему нельзя удалить, не пойму?
17 — 06.10.11 — 14:09
Вообще не должны пользователи с ограниченными правами делать удаление объектов в базе. Только помечать.
18 — 06.10.11 — 14:10
Права даны ОтветственномуЮзверю.
19 — 06.10.11 — 14:11
(17) Этот справочник — копия справочника СтатьиЗатрат, только перегруппирован по-другому, отсюда и необходимость удалять элементы сразу и не хранить мусор.
20 — 06.10.11 — 14:13
(18)ООО, с этой фразы начинаются многие забавные повести, а порой и триллеры…
21 — 06.10.11 — 14:14
(20) у пользователя нет никаких лишних прав. только программная синхронизация одного справочника с другим.
22 — 06.10.11 — 14:16
Ну что никто не знает почему нельзя удалить элемент справочника?
23 — 06.10.11 — 14:25
хелп
24 — 06.10.11 — 14:39
попробуй встать на эту строчку и нажать ф11, может правда в какие подписки лезет…
25 — 06.10.11 — 15:05
попробовал сейчас удалить от этого пользователя другой справочник, на который у пользователя также есть все права — выдал эту же ошибку. Получается работает какой-то общий механизм при удалении элемента справочника? И как его найти? Конфа Бух 1.6.
26 — 06.10.11 — 15:06
(25)попробуй встать на эту строчку и нажать ф11, может правда в какие подписки лезет…
27 — 06.10.11 — 15:08
(26) уже пробовал. никуда не идет.
28 — 06.10.11 — 15:20
(27)Тады ай.
У меня все удаляется.
29 — 06.10.11 — 15:20
*здесь крик о помощи*
30 — 06.10.11 — 15:43
а в модуле объекта ничего нет? и что такое «программная синхронизация»?
31 — 06.10.11 — 15:51
(29) еще попробуй Выборка.ПолучитьОбъект().Записать();
32 — 06.10.11 — 15:59
(30) программная синхронизация означает, что новый справочник создается на основе другого и содержание справочников должно совпадать. Т.е. при открытии происходит проверка на соответствие элементов, если елемента в исходном справочнике нет, то он должен удалиться из этого справочника. Как раз с этим моментом и возникла проблема.
(31) зачем записывать то, что уже записано?
(30) в модуле объекта почти ничего нет, заходит туда только при пометке удаления. А при непосредственном удалении не заходит.
У пользователя с полными правами всё работает. У текущего пользователя, от которого запускаю — нет. Как понять чего не хватает. Может есть какая-то глобальная проверка? Но не представляю, где её искать.
33 — 06.10.11 — 16:04
обмен может? На обмен права есть?
34 — 06.10.11 — 16:05
(33) новый справочник — изначально копия старого, и в старом действительно был обмен. Но в новом эти галки сняты.
35 — 06.10.11 — 16:08
(32)@зачем записывать то, что уже записано? @
чтобы проверить, есть ли права…
36 — 06.10.11 — 16:12
(0)
> Выборка.ПолучитьОбъект().Удалить()
ой как некошерно!!!
37 — 06.10.11 — 16:15
(36) чем?
38 — 06.10.11 — 16:16
Начал методом тыка подключать права для роли. Похоже дело в регистре сведений каком-то…
39 — 06.10.11 — 16:25
(38)
мда…
так ты до сих пор не делал поиска ссылок на объекты?
40 — 06.10.11 — 16:27
2АЛЛ
сегодняшний день на мисте — это что-то…!!!
41 — 06.10.11 — 16:31
(38) я уже написал в (9) обо всех ссылках
42 — 06.10.11 — 16:32
(40) похоже, пока разбирался со своим вопросом, всё интересное на мисте пропустил…)
43 — 06.10.11 — 16:41
(41)
ссылки в конфигураторе что-ли искал?
из (9)
>Ни с какими регистрами он не связан.
из (38)
>Похоже дело в регистре сведений каком-то…
(37)
Выборка может слететь. и нельзя удалять без проверки ссылок.
44 — 06.10.11 — 16:48
(43) да нет никаких ссылок. я же сам создал этот объект.
45 — 06.10.11 — 16:53
(44) можно задвинул
теперь предположим наличие в конфигурации подписки перед/при записи на все справочники,
которая пишет в Рг сведений версии объектов
или
объекты доступа
46 — 06.10.11 — 16:54
(46) +1
кстати
конфа до сих пор не озвучена,
вдруг это УПП
47 — 06.10.11 — 16:59
Трам-пам-пам. Барабанная дробь! РС СоответствиеОбъектовДляОбмена. Не понял откуда ноги растут. Будет интересно если кто просвятит.
В исходном справочнике СтатьиЗатрат есть настроенный обмен. В коде я сравниваю элементы обоих справочников. Но в этом справочнике обмен отключен. Не пойму каким он сюда вылез?
48 — 06.10.11 — 17:00
(46) озвучена в (25). Бух 1.6
49 — 06.10.11 — 17:01
Вот более полный код:
Выборка = Справочники.хз_СтатьиЗатрат.ВыбратьИерархически();
СообщениеВыведено = Ложь;
Пока Выборка.Следующий() = 1 Цикл
Если Выборка.ЭтоГруппа = Ложь Тогда
Элемент = Справочники.СтатьиЗатрат.НайтиПоНаименованию(Выборка.Наименование, Истина);
Если Элемент = Справочники.СтатьиЗатрат.ПустаяСсылка() Тогда
Выборка.ПолучитьОбъект().Удалить();
50 — 06.10.11 — 17:02
справочники синхронизируются по наименованию статей
51 — 06.10.11 — 17:02
(47) не фига было выпендриваться,
поиск ссылок со стороны предприятия ищет ссылку за секунды
52 — 06.10.11 — 17:05
(51) я не понял, что речь идет о поиске данных в пользоват. режиме. Спрашивал об этом в (15).
53 — 06.10.11 — 17:06
(52) не свисти
я тебе утром дал ответ
пометь на удаление и запусти штатную обработку
она даст все ссылки
54 — 06.10.11 — 17:07
(53) я так и сделал. не было никаких проблем. элемент спокойно предлагался на удаление.
55 — 06.10.11 — 17:11
(54) топик закрыт
56 — 06.10.11 — 17:14
(55) нет не закрыт! Я день промучился с этой траблой и нихрена не понял! Почему он просит у меня этот регистр?
57 — 06.10.11 — 17:22
и кстати этого регистра недостаточно. еще какой-то(какие-то) нужны, как оказалось.
58 — 06.10.11 — 17:39
О, боже, а зачем:
Элемент = Справочники.СтатьиЗатрат.НайтиПоНаименованию(Выборка.Наименование, Истина);
???
(57)Не помечай на удаление, сделай НайтиСсылки()
59 — 07.10.11 — 08:27
(58) справочник-копия самостоятельный и не является ссылочным к исходному справочнику
60 — 07.10.11 — 08:44
(59)а ты уверен, что нет каких-нить регистров, в которые пишутся ВСЕ справочники?
61 — 07.10.11 — 08:53
(60) нет. не уверен. а как мне это определить?
62 — 07.10.11 — 09:01
(57)Не помечай на удаление, сделай НайтиСсылки()
63 — 07.10.11 — 09:03
пардон,
НайтиПоСсылкам
64 — 07.10.11 — 09:07
Кстати, как вариант нет доступа на изменение регистра сведений, где в измерении тип ВсеСсылки
При этом фактически записей в этом регистре по данному элементу справочника может и не быть
65 — 07.10.11 — 09:11
Хм… А ведь Удалить() действительно не проверяет ссылки. Пятница, однако.
66 — 07.10.11 — 09:38
(65) а как ты это поняла?
67 — 07.10.11 — 09:45
(65) Емнип, кроме того, что в подписках и РС, где на измерение с данным типом стоит Ведущее
68 — 07.10.11 — 09:45
(66)Тут где-то СП по СП была, поищи.
69 — 07.10.11 — 09:48
(68) ааа… а я думал о чем ты…
70 — 07.10.11 — 10:23
оказывается, еще и прав на документ какой-то не хватает…
71 — 07.10.11 — 11:33
Итого в сухом остатке — понадобились права на изменение для РС КоллизииПриОбмене, РС ОбъектыИнформационныхБаз, РС СоответствиеОбъектовДляОбмена, РС СоответствиеОбъектовИнформационныхБаз.
Я так понял, что весь этот трабл связан именно с недостатком прав на обмен.
Не знаю как обмен работает, но может в момент моего обращения к исходному справочнику СтатьиЗатрат он отрабатывает. А ошибка почему-то выскакивает позже?
72 — 07.10.11 — 11:37
(71) Указан ли в данных регистрах сведений в измерениях данный тип или тип ВсеСсылки?
73 — 07.10.11 — 11:41
(72) Да. У каждого из этих регистров есть измерение с типом ЛюбаяСсылка.
74 — 07.10.11 — 11:43
(73) Тогда см. 64
75 — 07.10.11 — 11:44
Классика…
Еще из этой же серии — создается документ, который двигает регистр накоплений. На данный документ у человека прав нет, на регистр — есть.
При формировании отчета по регистру — нарушение прав доступа (хотя документов еще не было)
76 — 07.10.11 — 11:49
(74) а как это всё работает? можно поподробнее? Мало ли в каком регистре что указано. Если я не использую его непосредственно, то каким боком он тут вылез?
77 — 07.10.11 — 12:07
ап. интересно.
78 — 07.10.11 — 12:18
учиться, учиться и учиться (с)
79 — 07.10.11 — 12:36
(78) ссылку не?
80 — 07.10.11 — 12:40
81 — 07.10.11 — 12:41
(64)+(67)
82 — 07.10.11 — 12:53
да, кстати, в этих регистрах эта ЛюбаяСсылка как ведущее.
Но причем здесь мой левый справочник, ни с чем не связанный, и эти регистры? И почему именно в момент удаления происходит эта проверка?
83 — 07.10.11 — 13:00
(82) Рекомендую прочитать — что такое признак Ведущее у измерения Регистра сведений. И много думать…
84 — 07.10.11 — 14:08
(83) Руководство разработчика. Ведущее — установка этого свойства имеет смысл для измерений, тип данных которых — ссылка на объект конфигурации. В этом случае считается, что запись регистра сведений имеет смысл, только пока существует этот объект.
И что я отсюда должен вынести, кроме того, что здесь написано?
85 — 07.10.11 — 14:34
(84)
ты это… того… прочитай до конца (83).
86 — 07.10.11 — 14:41
хотя бы один снизошел… Тут написано — «запись регистра». Я в регистр ничего не записываю, тем более эти регистры вобще пустые.
87 — 07.10.11 — 14:43
(86)Запись регистра не может существовать без этого объект, т.е. даже при использовании Удалить(), связанные записи пропадут. Вот он и лезет везеде, где твой элемент ПОТЕНЦИАЛЬНО может быть, а у него прав нету.
extrim-style
88 — 07.10.11 — 14:50
(87) спасибо
Проблемы
При попытке удалить папки, хранящиеся на подключенном диске, и отправить их в корзину, может появиться следующее сообщение об ошибке:
Не удается удалить имя_папки: отказано в доступе. Исходный файл, возможно, используется.
Причина
Это происходит из-за того, что корзина не распознает подключенные тома. Например, предположим, что используется следующий макет диска:
C:—1 гигабайт (ГБ) с помощью файла NTFS systemC: Host-dir—точка монтирования для отдельного устройства с 9 ГБПри попытке удалить папку с помощью пути C:Host-dirMydir проводник Windows считает папку на диске C и попытается ее поместить в корзину на диске C.
Обходное решение
Чтобы устранить эту ошибку, воспользуйтесь одним из описанных ниже способов.
-
При удалении файлов или папок с помощью проводника используйте сочетание клавиш SHIFT + DELETE. Это обходит корзину.
-
Откройте окно командной строки, а затем с помощью команды RD/s/q удалите файлы или папки.
Примечание. Оба эти метода окончательно удаляют данные. Вы не можете восстановить данные, если у вас нет текущей резервной копии.
Статус
Корпорация Майкрософт подтвердила, что эта проблема связана с продуктами Майкрософт, которые перечислены в начале этой статьи.
Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.
В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.
В исправной операционной системе установка и удаление программного обеспечения обычно проходит без особых проблем, если не считать за таковые медленное засорение файловой системы оставшимися после деинсталляции приложений логами, библиотеками и прочими связанными с приложением файлами. Многое зависит также и от самого программного обеспечения, которое при определенных обстоятельствах может начать выдавать разные ошибки в момент своего удаления, например, ошибка «Недостаточно прав для удаления. Обратитесь к администратору», когда удаляемое приложение требует от пользователя повышенных привилегий.
Это было бы объяснимо, если бы попытка удаления выполнялась с правами обычного пользователя, но как быть, если удаляющий программу пользователь сам является администратором? Такое поведение системы явно указывает на ошибку, причиной которой чаще всего становится повреждение специального лога или записи в реестре, благодаря которым Windows идентифицирует удаляемую программу. В более редких случаях ошибка появляется из-за несоответствия прав доступа при наличии в системе нескольких учётных записей пользователей.
Наиболее простой, но и наименее эффективный способ обойти ограничение — отключить в системе контроль учётных записей. Откройте командой useraccountcontrolsettings параметры управления и перетащите ползунок в крайнее нижнее положение. Сохраните настройки, перезагрузите компьютер и попробуйте удалить проблемную программу. Если ошибка сохранится, переходим к следующему способу.
Если программа не хочет удаляться в обычном режиме, попробуйте удалить её в режиме безопасном. Командой msconfig откройте «Конфигурацию системы», переключитесь на вкладку «Загрузка» и отметьте флажком пункт «Безопасная загрузка». Нажмите «Применить», «OK», согласитесь на перезагрузку компьютера и попробуйте удалить выдающую ошибку программу после загрузки Windows в безопасном режиме.
Восстановите исходные настройки загрузки в том же окне конфигурации системы, включив на вкладке «Общие» радиокнопку «Обычный запуск».
Если ошибка «Недостаточно прав для удаления. Обратитесь к администратору» связана с правами доступа, положительный результат может дать удаление из-под встроенной учётной записи Администратора, обладающей более высокими привилегиями в системе, чем обычная учётная запись администратора. Чтобы активировать встроенную запись Администратора, выполните в запущенной с повышенными правами командной строке или PowerShell команду net user Администратор /active:yes.
Выйдите из текущей учётки, войдите в активированную запись встроенного Администратора (по умолчанию она не имеет пароля) и попробуйте удалить проблемную программу.
Для удаления программ с отсутствующим или повреждённым деинсталлятором существуют специальные утилиты, например, Uninstall Tool. Скачайте, установите и запустите этот инструмент, нажмите правой кнопкой мыши в выведенном списке по программе, при удалении которой штатными средствами получаете ошибку и выберите опцию «Принудительное удаление».
В этом режиме деинсталлятор удаляемого приложения не запускается, вместо Uninstall Tool удаляет его папку со всем её содержимым, анализирует диск и также удаляет связанные с исполняемым файлом приложенные все файлы, каталоги и ключи реестра, которые только сможет найти.
Если вы считаете себя достаточно опытным пользователем, можете удалить программу вручную из-под LiveCD со встроенным файловым менеджером. Можно обойтись и без LiveCD, последний нужен, если только файлы удаляемой программы удерживаются системными процессами или у администратора компьютера отсутствуют на папки программы права доступа. Ключи реестра программы можно просмотреть в той же Uninstall Tool или Revo Uninstaller, далее переходим в папки Program Files, ProgramData и AppData и вычищаем оттуда всё, что имеет отношения к удаляемому приложению.
Два описанных выше способа наиболее эффективны, если по какой-то причине вы не можете или не хотите к ним прибегать, попробуйте выдать на папку с программой полные права доступа, если таковые не предоставлены. Откройте свойства папки, переключитесь на вкладку «Безопасность» и пройдитесь по всем группам или пользователям, убеждаясь, что все они имеют полный доступ. В противном случае жмём «Изменить» и выставляем группами и пользователям полный доступ, после чего пробуем удалить программу.
Ошибка при вызове метода контекста (Удалить)
по причине: Нарушение прав доступа!
Ошибка при вызове метода контекста (Удалить)
Как программно удалить документ? Пример кода
&НаСервере
Процедура УдалитьРеализацииНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.ПометкаУдаления = ИСТИНА»;
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
итератор =0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
итератор = итератор+1;
докОбъект = ВыборкаДетальныеЗаписи.ссылка.получитьОбъект();
докобъект.удалить();
КонецЦикла;
сообщить(«удалено » +итератор + » док. «);
КонецПроцедуры
нужно разрешить роль на чтение и запись, для последовательности.
кроме этого можно проверить галочки у всех регистров сведений
Теги: Ошибка при вызове метода контекста (Удалить)