Ошибка при удалении помеченных объектов. |
Я |
17.01.19 — 20:44
УТ 11, удаляю помеченные объекты. Получаю такую ошибку:
При удалении помеченных возникла ошибка:
Не удалось записать: «Задания к формированию записей книги покупок/продаж»!
{Обработка.УдалениеПомеченныхОбъектов.МодульМенеджера(586)}: Ошибка при вызове метода контекста (УдалитьОбъекты)
УдалитьОбъекты(УдаляемыеОбъекты, Истина, ПрепятствующиеУдалению);
по причине:
Не удалось записать: «Задания к формированию записей книги покупок/продаж»!
Что за фигня может быть?
1 — 17.01.19 — 20:49
В ЖР что про это пишут?
2 — 17.01.19 — 20:51
в (0) из ЖР копипаст
3 — 17.01.19 — 21:00
(2) событие «Отказ в доступе» есть?
4 — 17.01.19 — 21:02
Пытаюсь удалить не все помеченные а только РКО, получаю такую ошибку:
При удалении помеченных возникла ошибка:
Не удалось записать: «Задания к распределению расчетов с клиентами»!
{Обработка.УдалениеПомеченныхОбъектов.МодульМенеджера(586)}: Ошибка при вызове метода контекста (УдалитьОбъекты)
УдалитьОбъекты(УдаляемыеОбъекты, Истина, ПрепятствующиеУдалению);
по причине:
Не удалось записать: «Задания к распределению расчетов с клиентами»!
5 — 17.01.19 — 21:04
(3) Нет
6 — 17.01.19 — 21:06
(4) А теперь сначала удали эти самые задания…
7 — 17.01.19 — 21:07
В УТ11 настолько всё взаимосвязано… Что когда я отлаживал свой код и приходилось удалять документы… Пришлось написать обработку, которая чистила регистры и проч.
8 — 17.01.19 — 21:27
(6) (7) Жестоко. А где эти задания? Это что такое вообще?
9 — 17.01.19 — 21:28
Нашел, РС
10 — 17.01.19 — 21:30
Блин, захожу, все эти РС пустые
11 — 18.01.19 — 08:20
(10) запросом посмотри, без отборов и прочего
12 — 18.01.19 — 08:22
(11) Щас попробую, отпишусь.
13 — 18.01.19 — 10:25
Консолью глянул, пустые эти регистры.
14 — 18.01.19 — 10:39
Сделал удаление без монопольного режима, вот так теперь ошибка выглядит:
https://yadi.sk/i/TevBaoo7_a72dQ
15 — 18.01.19 — 10:41
(14) Какая-нибудь обработка перед удалением по подписке падает?
16 — 18.01.19 — 10:42
(15) Щас попробую запустить с остановкой по ошибке, но мне кажется, на этой же строке ляжет.
17 — 18.01.19 — 11:08
В общем после Объект.Удалить() идет по большой куче подписок, по которым я отладчиком вот уже минут 15 брожу, они не кончаются. Поставил точку останова в модуле менеджера РС ЗаданияКФормированиюЗаписейКнигиПокупокПродаж в процедуру ПередЗаписью, там такой код:
Если ПланыОбмена.ГлавныйУзел() <> Неопределено Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
А это я делаю на подчиненном узле РИБ. Вопрос, какого он обращается вообще к этому регистру так и не осилил, так как стек вызова показывает только
Объект.Удалить();
Из обработки удаления помеченных.
18 — 18.01.19 — 11:09
А точку поставь на этой строке…
19 — 18.01.19 — 11:13
(18) На какой?
20 — 18.01.19 — 11:14
ТЫ не поверишь..
21 — 18.01.19 — 11:16
Если ПланыОбмена.ГлавныйУзел() <> Неопределено Тогда
срабатывает, тик как у нас РИБ, я ж написал. В итоге имеем:
Отказ = Истина;
и отсюда ошибка записи регистра. В остальных регистрах, на которые ругается похожие проверки, например:
Отказ = ПланыОбмена.ГлавныйУзел() <> Неопределено;
Вопрос почему он вообще что то пытается с этих регистров удалить, если они пустые?
22 — 18.01.19 — 11:18
Потому что не видно предыдущего кода.
А так, нз = РегистрыСведений.ТвойРегистр.СоздатьНаборЗаписей(); нз.Записать()
Вызовет ПередЗаписью всегда
23 — 06.02.19 — 15:37
А в итоге не подскажите чем дело кончилось?
Та же самая байда.
Удалять через универсальные обработку задолбало..
Ведь типовая же УТ11, только узел …
Как так то что не работают просыте вещи.
Или таки где то криворукость?
24 — 06.02.19 — 15:47
(23) мне помог только костыль. Домой приеду, напишу какой.
25 — 06.02.19 — 15:50
Ок. жду. Интересно )
26 — 06.02.19 — 15:53
А потому что в главном узле надо удалять. Иначе что это за РИБ.
27 — 06.02.19 — 17:23
(25) РС ЗаданияКРаспределениюРасчетовСКлиентами Модуль набора записей, процедура ПередЗаписью(), закомментировал:
Отказ = ПланыОбмена.ГлавныйУзел() <> Неопределено;
РС ЗаданияКРаспределениюРасчетовСПоставщиками Модуль набора записей, процедура ПередЗаписью(), закомментировал:
Отказ = ПланыОбмена.ГлавныйУзел() <> Неопределено;
РС ЗаданияКРасчетуСебестоимости Модуль набора записей, процедура ПередЗаписью(), закомментировал:
Отказ = Истина;
в блоке
Если ПланыОбмена.ГлавныйУзел() <> Неопределено Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
РС ЗаданияКФормированиюЗаписейКнигиПокупокПродаж Модуль набора записей, процедура ПередЗаписью(), закомментировал:
Отказ = Истина;
в блоке
Если ПланыОбмена.ГлавныйУзел() <> Неопределено Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
В этих местах он валился с ошибкой, хоть никаких записей в регистрах нет.
28 — 06.02.19 — 17:24
(26) РИБ это когда везде можно удалять, иначе что это за РИБ
29 — 06.02.19 — 18:17
(28) РИБ — иерархическая структура.
30 — 06.02.19 — 18:23
(29) И что? Может тогда и документы и элементы справочников только в глвном узле создавать?
31 — 06.02.19 — 18:26
(30) Как ты хочешь удалять данные в одном подчиненном узле, на которые есть ссылки в другом подчиненном?
32 — 06.02.19 — 19:07
(31) Легко и непринужденно. Удалили в узле, значит пометили в главном, оттуда пометка ушла в другие подчиненные.
33 — 06.02.19 — 19:10
(32) Потом запускаем удаление помеченных в других узлах.
Serg_1960
34 — 07.02.19 — 09:29
(30) Забудь… ну или забей. И раньше были действия, которые корректно исполнялись только на центральном узле. Ну или только после взаимных сеансов обмена, когда базы максимально синхронизированы. Теперь считай, что и удаление объектов к таковым относится.
(32) В РИБ было «легко и непринужденно» получить «объект не найден» — как два пальца об… асфальт.
PS: просто для разнообразия кругозора посмотри что в состав плана обмена входит и что реально регистрируется и мигрирует по узлам.
Перейти к контенту
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/
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Александр Якубович
Дата регистрации: 06.11.2014
Сообщений: 1
Добрый день!
в 1С Документооборот пытаюсь удалить помеченные на удаление объекты и выдает такую ошибку: «Ошибка при вызове метода контекста (УдалитьОбъекты)»
при входе в конфигуратор показывает эту ошибку в коде:
Если ЗначениеЗаполнено(ОписаниеОшибки) Тогда
ОтключитьОбработчикОжидания(«ОбновитьПроцентВыполнения»);
ЭтаФорма.Закрыть();
ВызватьИсключение(ОписаниеОшибки);
КонецЕсли;
Помогите решить проблему — бьюсь уже 2-й день и ничего не получается((
Показывать по
10
20
40
сообщений
Нарушение прав доступа при удалении документов: {Форма.Form.Форма}: Ошибка при вызове метода контекста (УдалитьОбъекты) DeleteObjects(RemovedList, True, FindedItems); по причине: Нарушение прав доступа! УТ 11.1.2.9/10 платф 8.2.18.109 Была синхронизация/обмен по этим документам. В журнале упоминаются только ссылки на РН — причина ?
да — права полные — вплоть до интерактивного удаления — Shift del работает на других объектах Функция 1с УдалитьОБъекты без контроля ссылок — выдает ту же ошибку досупа
У пользователя, который удаляет, нет прав на какой-то регистр, в который документ пишет данные.
я пробовал все существующие права ставить и админу и заводил нового пользователя ставил ему все существующие права — результат тот-же удалял все подписки на события — со ссылкой на этот объект — результат тот же
А поштучно объекты удаляются?
нет созданные новые — тоже не удаляются
может там с ообменом какая завязка — на демо базе того же релиза все нормально удаляется ?
Проблему так и не решил — пришел к выводу что дело в релизе, на который я обновился с УТ 11.1.2.9 на УТ 11.1.2.10 Кстати до УТ 11.1.3.5 кто-нибудь смог обновиться — у меня платформа падает ?
полные права — это не администратор, создай админа в конфигураторе (или заюзай существующего), ошибка очень похожа на нарушение ограничений rls, или отключи (ограничивать доступ на уровне записи) или смотри в ЖР на что ругается, или смотри само ограничение по объекту. По поводу обновления, во первых она тестовая, в третьих читай что написано: Управление торговлей, редакция 11 Версия 11.1.3.5 Внимание! Текущая версия конфигурации «Управление торговлей», редакция 11.1 предназначена для использования с версией системы 1С:Предприятие 8 не ниже 8.3.3.715.
На демобазе 11.1.2.10 — тоже не удаляются документы — например Заказ Клиента у кого-нибудь удаляется ?
Проверь владельца файла что ли
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям
Riva |
|
||
---|---|---|---|
|
Необходимо удалить текущую строку из табличной части, использую такой код:
Код 1C v 8.2 УП
Но при удалении строки с индексом 0 возникает ошибка: {Документ.ПеремещениеОборудования.Форма.ФормаДокумента.Форма(66)}: Ошибка при вызове метода контекста (Удалить) Подскажите, что делаю не правильно |
Yandex |
|
||
---|---|---|---|
|
E_Migachev |
|
||
---|---|---|---|
|
(0) Riva, при у далении самой первой строки возникает ошибка? |
Riva |
|
||
---|---|---|---|
|
Если строка одна — то на ней, если строк больше, ошибка возникает на последней. Если попытаться удалить сразу последнюю, то снова ошибка. |
E_Migachev |
|
||
---|---|---|---|
|
странно как-то, не должно, а попробуй
Код 1C v 8.х
|
shcoder |
|
||
---|---|---|---|
|
В объекте индексы начинаются с нуля, в форме с единицы. Поэтому и ошибка. |
Riva |
|
||
---|---|---|---|
|
Спасибо |
Подсказка: Щелникни по Имени пользователя напротив ответа, и тем самым покажешь, что сообщение адресовано ему. |
Ошибка при вызове метода контекста (Удалить)
по причине: Нарушение прав доступа!
Ошибка при вызове метода контекста (Удалить)
Как программно удалить документ? Пример кода
&НаСервере
Процедура УдалитьРеализацииНаСервере()
Запрос = Новый Запрос;
Запрос.Текст =
«ВЫБРАТЬ
| РеализацияТоваровУслуг.Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
|ГДЕ
| РеализацияТоваровУслуг.ПометкаУдаления = ИСТИНА»;
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
итератор =0;
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
итератор = итератор+1;
докОбъект = ВыборкаДетальныеЗаписи.ссылка.получитьОбъект();
докобъект.удалить();
КонецЦикла;
сообщить(«удалено » +итератор + » док. «);
КонецПроцедуры
нужно разрешить роль на чтение и запись, для последовательности.
кроме этого можно проверить галочки у всех регистров сведений
Теги: Ошибка при вызове метода контекста (Удалить)
8.1 При программном удалении элемента справочника выскакивает эта ошибка. {Справочник.хз_СтатьиЗатрат.Форма.ФормаСписка}: Ошибка при вызове метода контекста (Удалить): Нарушение прав доступа! Выборка.ПолучитьОбъект.Удалить; где Выборка.ПолучитьОбъект тип СправочникОбъект.хз_СтатьиЗатрат Права пользователей были немного подрезаны. Но на этот справочник у юзверя есть все права, кроме интерактивного удаления. Тем не менее эта ошибка — в чем тут дело?
В обработке удаления видимо режутся связанные объекты, на которые прав уже нет.
Удалить это стандартный метод СправочникОбъект.<Имя справочника>
А еще бывает событие «перед удалением» в модуле справочника.
-> Есть настройки, например, у регистра сведений, которые удаляют записи в случае удаления измерения
уже смотрел. нет такого. есть только ПередЗаписью.
регистры сведений все проверил?
+ ну а на сам регистр ограниченные права сделай поиск ссылок на справочник, и проверь права на найденные регистры
Владельца у справочника нет. Ни с какими регистрами он не связан. Поиск ссылок в объекте показал на ПодсистемаХЗ, которой справочник принадлежит и 2 перечисления: Перечисление.ОтнесениеРасходовКДеятельностиЕНВД Перечисление.ВидыРасходовНУ У юзера есть права только на ПодсистемуХЗ. Перечисления в ролях не присутствуют. Но сами перечисления присутствуют в других подсистемах. Попытался дать юзеру права на эти подсистемы — толку нет. Подскажите, может вобще не обрезать пользователю права по подсистемам? На что это влияет?
Да и мне вобще непонятно, какая тут может быть связанная информация? Я получил объект справочника, но не могу его удалить. Почему?
Дал юзеру права на все подсистемы — толку нет. Значит дело не в подсистемах, а непосредственно в правах роли юзера. Но как понять, чего не хватает?
приколист, на твой справочник сидят ссылки в тыще мест в других справочниках, Рг и х.з. где ещё
на мой справочник нет ни одной ссылки в конфигурации. Есть толко из него, те, которые в
тогда пометь его на удаление и запусти штатную обработку далее зырь журнал
не понял. Пометить элемент справочника на удаление? Какую штатную обработку? Удаление помеченных объектов?
Поставлю вопрос по-другому. Имеется справочник, при открытии которого удаляются некоторые элементы по условию. Код: В последней строке выскакивает сообщение об ошибке удаления. Какие тут могут быть зависимости или может быть стандартные механизмы обработки удаления справочников в общих модулях или еще где-нибудь? Я вобще не воткну в чем трабл: получаю элемент справочника, у пользователя все права на справочник (справочник от пользователя открывается), почему нельзя удалить, не пойму?
Вообще не должны пользователи с ограниченными правами делать удаление объектов в базе. Только помечать.
Права даны ОтветственномуЮзверю.
Этот справочник — копия справочника СтатьиЗатрат, только перегруппирован по-другому, отсюда и необходимость удалять элементы сразу и не хранить мусор.
ООО, с этой фразы начинаются многие забавные повести, а порой и триллеры…
у пользователя нет никаких лишних прав. только программная синхронизация одного справочника с другим.
Ну что никто не знает почему нельзя удалить элемент справочника?
попробуй встать на эту строчку и нажать ф11, может правда в какие подписки лезет…
попробовал сейчас удалить от этого пользователя другой справочник, на который у пользователя также есть все права — выдал эту же ошибку. Получается работает какой-то общий механизм при удалении элемента справочника? И как его найти? Конфа Бух 1.6.
попробуй встать на эту строчку и нажать ф11, может правда в какие подписки лезет…
уже пробовал. никуда не идет.
Тады ай. У меня все удаляется.
а в модуле объекта ничего нет? и что такое «программная синхронизация»?
еще попробуй Выборка.ПолучитьОбъект.Записать;
программная синхронизация означает, что новый справочник создается на основе другого и содержание справочников должно совпадать. Т.е. при открытии происходит проверка на соответствие элементов, если елемента в исходном справочнике нет, то он должен удалиться из этого справочника. Как раз с этим моментом и возникла проблема. зачем записывать то, что уже записано? в модуле объекта почти ничего нет, заходит туда только при пометке удаления. А при непосредственном удалении не заходит. У пользователя с полными правами всё работает. У текущего пользователя, от которого запускаю — нет. Как понять чего не хватает. Может есть какая-то глобальная проверка? Но не представляю, где её искать.
обмен может? На обмен права есть?
новый справочник — изначально копия старого, и в старом действительно был обмен. Но в новом эти галки сняты.
@зачем записывать то, что уже записано? @ чтобы проверить, есть ли права…
> Выборка.ПолучитьОбъект.Удалить ой как некошерно!!!
Начал методом тыка подключать права для роли. Похоже дело в регистре сведений каком-то…
мда… так ты до сих пор не делал поиска ссылок на объекты?
2АЛЛ сегодняшний день на мисте — это что-то…!!!
я уже написал в обо всех ссылках
похоже, пока разбирался со своим вопросом, всё интересное на мисте пропустил…)
ссылки в конфигураторе что-ли искал? из >Ни с какими регистрами он не связан. из >Похоже дело в регистре сведений каком-то… Выборка может слететь. и нельзя удалять без проверки ссылок.
да нет никаких ссылок. я же сам создал этот объект.
можно задвинул теперь предположим наличие в конфигурации подписки перед/при записи на все справочники, которая пишет в Рг сведений версии объектов или объекты доступа
+1 кстати конфа до сих пор не озвучена, вдруг это УПП
Трам-пам-пам. Барабанная дробь! РС СоответствиеОбъектовДляОбмена. Не понял откуда ноги растут. Будет интересно если кто просвятит. В исходном справочнике СтатьиЗатрат есть настроенный обмен. В коде я сравниваю элементы обоих справочников. Но в этом справочнике обмен отключен. Не пойму каким он сюда вылез?
справочники синхронизируются по наименованию статей
не фига было выпендриваться, поиск ссылок со стороны предприятия ищет ссылку за секунды
я не понял, что речь идет о поиске данных в пользоват. режиме. Спрашивал об этом в .
не свисти я тебе утром дал ответ пометь на удаление и запусти штатную обработку она даст все ссылки
я так и сделал. не было никаких проблем. элемент спокойно предлагался на удаление.
нет не закрыт! Я день промучился с этой траблой и нихрена не понял! Почему он просит у меня этот регистр?
и кстати этого регистра недостаточно. еще какой-то(какие-то) нужны, как оказалось.
О, боже, а зачем: Элемент = Справочники.СтатьиЗатрат.НайтиПоНаименованию(Выборка.Наименование, Истина); ??? Не помечай на удаление, сделай НайтиСсылки
справочник-копия самостоятельный и не является ссылочным к исходному справочнику
а ты уверен, что нет каких-нить регистров, в которые пишутся ВСЕ справочники?
нет. не уверен. а как мне это определить?
Не помечай на удаление, сделай НайтиСсылки
Кстати, как вариант нет доступа на изменение регистра сведений, где в измерении тип ВсеСсылки При этом фактически записей в этом регистре по данному элементу справочника может и не быть
Хм… А ведь Удалить действительно не проверяет ссылки. Пятница, однако.
Емнип, кроме того, что в подписках и РС, где на измерение с данным типом стоит Ведущее
Тут где-то СП по СП была, поищи.
ааа… а я думал о чем ты…
оказывается, еще и прав на документ какой-то не хватает…
Итого в сухом остатке — понадобились права на изменение для РС КоллизииПриОбмене, РС ОбъектыИнформационныхБаз, РС СоответствиеОбъектовДляОбмена, РС СоответствиеОбъектовИнформационныхБаз. Я так понял, что весь этот трабл связан именно с недостатком прав на обмен. Не знаю как обмен работает, но может в момент моего обращения к исходному справочнику СтатьиЗатрат он отрабатывает. А ошибка почему-то выскакивает позже?
Указан ли в данных регистрах сведений в измерениях данный тип или тип ВсеСсылки?
Да. У каждого из этих регистров есть измерение с типом ЛюбаяСсылка.
Классика… Еще из этой же серии — создается документ, который двигает регистр накоплений. На данный документ у человека прав нет, на регистр — есть. При формировании отчета по регистру — нарушение прав доступа (хотя документов еще не было)
а как это всё работает? можно поподробнее? Мало ли в каком регистре что указано. Если я не использую его непосредственно, то каким боком он тут вылез?
учиться, учиться и учиться (с)
да, кстати, в этих регистрах эта ЛюбаяСсылка как ведущее. Но причем здесь мой левый справочник, ни с чем не связанный, и эти регистры? И почему именно в момент удаления происходит эта проверка?
Рекомендую прочитать — что такое признак Ведущее у измерения Регистра сведений. И много думать…
Руководство разработчика. Ведущее — установка этого свойства имеет смысл для измерений, тип данных которых — ссылка на объект конфигурации. В этом случае считается, что запись регистра сведений имеет смысл, только пока существует этот объект. И что я отсюда должен вынести, кроме того, что здесь написано?
ты это… того… прочитай до конца .
хотя бы один снизошел… Тут написано — «запись регистра». Я в регистр ничего не записываю, тем более эти регистры вобще пустые.
Запись регистра не может существовать без этого объект, т.е. даже при использовании Удалить, связанные записи пропадут. Вот он и лезет везеде, где твой элемент ПОТЕНЦИАЛЬНО может быть, а у него прав нету.
Тэги: 1С 8
Комментарии доступны только авторизированным пользователям