1с объект не найден как удалить
Перейти к содержимому

1с объект не найден как удалить

  • автор:

1с объект не найден как удалить

В отчете отображается ссылка объект не найден, ее надо удалить, удалить не получается ТиИ с режимом очищать ссылки делал, свой запрос писал что б в регистре делал отбор по этому регистратору и удалял делал. Обработкой с сайта качал удалять пытался всё равно остается, как быть?

народ помогите.
RLS отключи
По гуиду понять, что за документ, создать объект с таким же гуидом, удалить его.
(2) он и не включен
(3) можно подробнее как создать с таким же гуидом?
(5) УстановитьСсылкуНового()
(6) а гуид могу получить как?
(7) А как ты «удалял делал» без гуида?

(0)Если знаешь какого типа объект, то просто

Ссылко.ОбменДанными.Записать=Истина;
Ссылко записать();

.
А потом уже разбирайся

Об=Ссылко.ПолучитьОбъект() забыл
Об.ОбменДанными.Записать=Истина;
Об.записать();
Блин. Пиво и выходные плохо влияют.
.Загрузка=Истина
Конечно
(11) «Об» чему равно для «битой» ссылки?
в инете обормоток полно по поиску ссылок
Ищешь битые ссылки в регистре по регистратору и удаляешь. При чем тут rls.
mTema32, это сейчас модно, чуть что не так то:
-Смотри RLS ))
(13)Созданному, но незаписанному объекту

Тут, кагбэ, парадокс в самом вопросе — В отчте отображаются данные, как правило, из регистров, т.е. удалять нечего — это результат какой-то операции, данные из которой уже удалены, но запись осталась с битой ссылкой. Но ТС пишет, что запись из регистра обработкой удалил. Однако, если ничего не изменилось — значит из регистра не удалено!
Удалить кривую запись регистра.

1с объект не найден как удалить

В периферийной базе имеются документ «Объект не найден», на который ссылаются удаляемые элементы справочника. Из за этого программа не дает их удалить. подскажите пожалуйста, как быть?

нет документа если Объект не найден он скорее всего есть в головной базе
(1) +100, либо почистить ссылки руками, скажем, с помощью обработки справочников и документов.
жить с ними, записи регистров с такими штуками — дело нужное
«Объект не найден» — таже ссылка обычная, удаляется как все

(2) Да, он в головной базе, просто в переферийной он не нужен, и справочники эти не нужны, более того, они сильно мешают, это ОС-ы, из за них не дает амортизацию начислить. Я уже сделал галочку, которой можно пометить, какие ос переливать в переферийку какие нет, но вот как теперь те ОС-ы которые там уже есть перелить?

+(2) удалить можно , только смотри чтоб к тебе в головной базе не удалился этот элемент справочника
(7) не удалиться, обратного обмена нет. Не подскажите, как удалить то такие ссылки?
1. ТиИ.
2. Shift-F4.
(8) пилять, тебе вроде сказали, или ты писатель, а не читатель?

из центра можешь удалить, зарегистрировать удаление объекта.
но надо не забыть про регистры и т.д.
ТИИ конечно поможет, но я никогда ей не удаляю битые ссылки, не люблю черные ящики)

(8) по моему в (1) и (9) норм советы. ставишь галку на удалять несуществующие объекты и ждешь пока пройдет ТиИ

Если ТиИ нельзя (т.е. какие-то «Объект не найден» нужно оставить), то своей обработкой заменять ненужные ссылки на пустые (у нас тоже РИБ и от этих действий мне становится страшно:)

(11) а чем плохо ТиИ? Тем что все битые ссылки поудаляет кроме найденой? ьтак от этого хуже разве будет?

(11) (13) Обратного то обмена нет . (8)

(13) кста если что можно поставить создавать объекты по ссылкам и потом удалить через штатный удалятор

(14) ТИИ делает дело и не спрашивает тебя а надо ли.
Вот документ двигает регисты, в одном регистре битая ссылка по измерению, в другом другие измерения и битых нет. Что даст ТИИ — убиение записи регистра? Очистку Измерения? Я просто за анализ и исправление вдумчивое, а не валим все битые, будет счастье

(17) так откуда берутся битые ссылки ? непосредственное удаление. Тогда нафига эти записи если то откуда они взялись удалено было .

(17)(18)Ну или вот при КД которое не создало объект а только ссылку . Нафик в базе этот мусор? тем более ТС пишет обратно данные не отправляются (интересно правда что за система такая, хотя всякое бывает надо)

(18) в основном при РИБ такое бывает.
Послее ТИИ ты не скажешь точно не поехали ли данные, и не надо ли перепровести пару документов например, це тоит в себе опасность

(18) не факт иногда такие цепи получаются что если рубить с плеча можно натворить страшные вещи замучаешься искать потом

Объект не найден — как исправить эту ошибку в программных продуктах 1С?

Previous Next Play Pause

Судя по количеству просмотров предыдущей статьи про повреждение файла базы данных, мы понимаем, что такие ошибки в работе пользователей 1С – далеко не редкость. В прошлом материале мы подробно описали механизм исправления этого недочета. И на, первый взгляд, все стало хорошо: ошибка устранена, пользователь смог зайти в базу данных и продолжить работу. Однако далее была обнаружена еще одна ошибка с текстом «Объект не найден», вызванная всё тем же повреждением базы данных. И тут уже придется прибегнуть к тестированию базы. Каким образом была выявлена эта ошибка и как исправлена, расскажем далее.

Для начала приведем пример как выглядит эта ошибка:

Данная ошибка может проявляться в любом документе, в любой базе. В наименовании этой ошибки могут быть любые символы (буквы/цифры). Главное – это название «Объект не найден».

Каким образом эта ошибка себя проявила?

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

Сформировав отчет «Полный свод начислений и удержаний», мы видим, что начисление есть.

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

Чтобы посмотреть, каким документом введена сумма, нажмите на ней правой кнопкой мышки и выберите команду «Расшифровать».

В открывшемся окне выберите «Регистратор».

Регистратор – это и есть документ, зафиксировавший запись, на основании которой формируется данный отчет и выбранная сумма.

Открываем расшифровку и что мы видим: «Объект не найден» и наша сумма.

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

Все отчеты показывают, что сумма есть. А первичный документ (в нашем случае – начисление зарплаты) мы найти не можем.

Рассмотрим, как выйти из такой ситуации.

Удаление битых ссылок. Тестирование информационной базы.

Шаг 1. Запустите программу в режиме «Конфигуратор».

Шаг 2. Выберите в разделе «Администрирование» пункт «Тестирование и исправление…».

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

Шаг 3. Сделайте резервную копию информационной базы.

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

Шаг 4. Установите галочку «Проверка ссылочной целостности» и «Проверка логической целостности». Установите переключатель в положение «Очищать ссылки» и «Удалять объект».

Т.е. при обнаружении таких несуществующих объектов, система их удалит.

Установка других галочек, в принципе, не помешает. Подробно мы их рассматривать в данной статье не будем. Единственное, некоторые процессы могут занять длительное время.

По окончанию проверки внизу выводится сообщение, что «Тестирование закончено» и строчки проверки «перестают бегать» в окне служебных сообщений.

Наша ошибка исправлена.

Шаг 5. Проверим базу.

Сумма с «битой ссылкой» исчезла из отчета «Полный свод начислений и удержаний».

Программа дает заполнить документ «Начисление зарплаты и взносов» корректно.

Сотрудник, по которому была «битая ссылка», вновь попадает в начисление.

Автор статьи: Ольга Круглова

Понравилась статья? Подпишитесь на рассылку новых материалов

1C. Поиск «Объект не найден» в регистре и удаление

Иногда в ИБ можно встретить ссылки на объекты (75:a353ac9e17b7bc7111e60238e0dc59c6), это ссылки на удаленные объекты. Получаются такие ссылки в ходе сбоев ИБ, РИБ(Распределенных Информационных Баз) или других механизмов создающих ссылки не записанных объектов(разбирал здесь).

Поиск

В любом случае — это не есть хорошо, будем исправлять! Разберем пример поиска таких ссылок в регистре сведений «Данные для обработки» некой конфигурации, регистр имеет одно измерение «Номенклатура«, тип Справочник.Номенклатура.

В рамках задачи необходимо удалить записи регистра с битыми ссылками, в статье не будет разбираться тестирование и исправление ИБ, или другое восстановление ссылок.

Поиск ссылок

Сама ссылка считается валидной, а вот если обратиться к ее реквизиту в запросе, то получим NULL. Из этого пишем запрос получающий наименование из ссылки в измерении «номенклатура» регистра сведений «Данные для обработки» и отбираем записи у которых значение запрашиваемого реквизита равно NULL. Если измерений по которым необходимо производить поиск больше одного, то объединяем условия через ИЛИ.

А для удаления таких записей просто создадим наборы записей указав отборы и запишем.

&НаСервере Процедура УдалитьПлохиеЗаписиДанныхДляОбработки() // Найдем записи с Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ДанныеДляОбработки.Номенклатура КАК Номенклатура |ИЗ | РегистрСведений.ДанныеДляОбработки КАК ДанныеДляОбработки |ГДЕ | ДанныеДляОбработки.Номенклатура.Наименование ЕСТЬ NULL"; Выборка = Запрос.Выполнить().Выбрать(); // Удаление записей с Пока Выборка.Следующий() Цикл НаборЗаписей = РегистрыСведений.ДанныеДляОбработки.СоздатьНаборЗаписей(); НаборЗаписей.Отбор.Номенклатура.Установить(Выборка.Номенклатура); НаборЗаписей.Записывать = Истина; НаборЗаписей.Записать(Истина); КонецЦикла; КонецПроцедуры 

После выполнения данного кода из регистра сведений будут удалены все записи со ссылками .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *