Объект не найден 1с
Для начала приведем пример как выглядит эта ошибка:
Данная ошибка может проявляться в любом документе, в любой базе. В наименовании этой ошибки могут быть любые символы (буквы/цифры). Главное – это название «Объект не найден».
Каким образом эта ошибка себя проявила?
После устранения сбоя, описанного нами ранее, программа открывается и работает, но ведет себя странно. В отчетах отображается информация, а первичный документ пользователь не может найти. В частности, начисление зарплаты по сотруднику. При вводе начисления еще раз документ формируется пустым. И ведь верно – зарплата то ему уже начислена. И это «подтверждают» отчеты. Посмотрим более внимательно.
Сформировав отчет «Полный свод начислений и удержаний», мы видим, что начисление есть.
Попытаемся разобраться, какой документ зафиксировал это начисление. Дальше мы наблюдаем за этой суммой…
Чтобы посмотреть, каким документом введена сумма, нажмите на ней правой кнопкой мышки и выберите команду «Расшифровать».
В открывшемся окне выберите «Регистратор».
Регистратор – это и есть документ, зафиксировавший запись, на основании которой формируется данный отчет и выбранная сумма.
Открываем расшифровку и что мы видим: «Объект не найден» и наша сумма.
В среде программистов это называется «битая ссылка», т.е. в отчете данные отображены (данные в таблицах программы зафиксированы), а сам объект отсутствует. Соответственно, это не дает нам дальше работать, вводить документы, плюс это отображает некорректную информацию.
Все отчеты показывают, что сумма есть. А первичный документ (в нашем случае – начисление зарплаты) мы найти не можем.
Рассмотрим, как выйти из такой ситуации.
Удаление битых ссылок. Тестирование информационной базы.
Шаг 1. Запустите программу в режиме «Конфигуратор».
Шаг 2. Выберите в разделе «Администрирование» пункт «Тестирование и исправление…».
Еще раз напоминаем, что при любых действиях с информационной базой, рекомендуется сначала сделать ее резервную копию. И если вы сомневаетесь в ваших действиях, обратитесь к специалисту за помощью.
Шаг 3. Сделайте резервную копию информационной базы.
В окне настройки тестирования много галочек и каждое действие выполняется при разного рода ошибках. В нашем случае нарушена ссылочная целостность информационной базы. И далее все зависит от варианта решения проблемы. В нашем случае произошла потеря данных, создать объект не получится. Потому, чтобы избавиться от «битой ссылки», ее просто надо удалить.
Шаг 4. Установите галочку «Проверка ссылочной целостности» и «Проверка логической целостности». Установите переключатель в положение «Очищать ссылки» и «Удалять объект».
Т.е. при обнаружении таких несуществующих объектов, система их удалит.
Установка других галочек, в принципе, не помешает. Подробно мы их рассматривать в данной статье не будем. Единственное, некоторые процессы могут занять длительное время.
Наша ошибка исправлена.
Шаг 5. Проверим базу.
Сумма с «битой ссылкой» исчезла из отчета «Полный свод начислений и удержаний».
Программа дает заполнить документ «Начисление зарплаты и взносов» корректно.
2. Если Вы знаете что удалили, то можете сразу нажать кнопку Создать Объект Из GUID - Пункт 4.
3. Если Вы не знаете что удалили, тогда вам нужно поднять архивную копию базы, открыть там обработку и вставить полученный GUID в поле GUID.
далее нажать Ссылку -> и в правом поле отобразится необходимый Вам объект(в моем случае Попов Роман Владимирович).
Открыв его, узнаем что это справочник Сотрудники и всю содержащуюся в справочнике информацию. Возвращаемся в базу, где необходимо восстановить объект и жмем кнопку Создать Объект Из GUID
4. Из открывшегося списка выбираем Справочник Сотрудники, в открывшейся форме заполняем все поля данными из архивной базы и жмем OK. Все, данный объект восстановлен.
Для программиста:
Для получения уникального идентификатора объекта, используйте код вида:
Код 1C v 8.х
Для того чтобы преобразовать (84:bf5600145e3710ab11dda4c605dbe824) в УникальныйИдентификатор (GUID)
Код 1C v 8.х
Для получения ссылки по уникальному идентификатору, используйте код:
Код 1C v 8.х
Создать объект документ или справочник и установить ему свой Уникальный идентификатор
Код 1C v 8.х
еще можно получить ИдентификаторДокумента при OLE доступе:
Код 1C v 7.x
Еще посмотрите метод:
ЗначениеВСтрокуВнутр();
Синтаксис:
ЗначениеВСтрокуВнутр()
Назначение:
Преобразование значения объекта агрегатного типа в строковое системное представление.
Возвращает: представление значения объекта в строковом системном виде.
Параметры:
- значение объекта агрегатного типа данных которое нужно преобразовать.
Подробнее см. в документации, глава ''Системные процедуры и функции''
Похожие FAQ
Еще в этой же категории
2. Если Вы знаете что удалили, то можете сразу нажать кнопку Создать Объект Из GUID - Пункт 4.
3. Если Вы не знаете что удалили, тогда вам нужно поднять архивную копию базы, открыть там обработку и вставить полученный GUID в поле GUID.
далее нажать Ссылку -> и в правом поле отобразится необходимый Вам объект(в моем случае Попов Роман Владимирович).
Открыв его, узнаем что это справочник Сотрудники и всю содержащуюся в справочнике информацию. Возвращаемся в базу, где необходимо восстановить объект и жмем кнопку Создать Объект Из GUID
4. Из открывшегося списка выбираем Справочник Сотрудники, в открывшейся форме заполняем все поля данными из архивной базы и жмем OK. Все, данный объект восстановлен.
Для программиста:
Для получения уникального идентификатора объекта, используйте код вида:
Код 1C v 8.х
Для того чтобы преобразовать (84:bf5600145e3710ab11dda4c605dbe824) в УникальныйИдентификатор (GUID)
Код 1C v 8.х
Для получения ссылки по уникальному идентификатору, используйте код:
Код 1C v 8.х
Создать объект документ или справочник и установить ему свой Уникальный идентификатор
Код 1C v 8.х
еще можно получить ИдентификаторДокумента при OLE доступе:
Код 1C v 7.x
Еще посмотрите метод:
ЗначениеВСтрокуВнутр();
Синтаксис:
ЗначениеВСтрокуВнутр()
Назначение:
Преобразование значения объекта агрегатного типа в строковое системное представление.
Возвращает: представление значения объекта в строковом системном виде.
Параметры:
- значение объекта агрегатного типа данных которое нужно преобразовать.
Подробнее см. в документации, глава ''Системные процедуры и функции''
Похожие FAQ
Еще в этой же категории
Все программисты 1С рано или поздно сталкиваются с подобной ситуацией:
Для решения проблемы нам понадобится обработка «Выгрузка и загрузка данных XML».
с сайта методической поддержки 1С в разделе Главная / Инструкции по разработке на 1С / Методическая поддержка для разработчиков и администраторов 1С:Предприятия 8 / Разработчикам / Дополнительные средства разработки: библиотеки, обработки, руководства / Универсальные отчеты и обработки / Загрузка, выгрузка / Выгрузка и загрузка данных XML
Далее нам понадобится тестовая база с развернутым бэкапом, чтобы выгрузить оттуда данные.
В рассматриваемом случае будем выгружать элемент справочника «Должности организации».
Шаг 1. В тестовой базе ищем элемент справочника, который был удален
Шаг 2. Открываем обработку «Выгрузка и загрузка данных XML» и выгружаем необходимый объект
- Переходим на закладку Выгрузка
- Переходим на закладку Дополнительные объекты для выгрузки
- Добавляем в табличную часть элемент для выгрузки
- Указываем путь к выгружаемому файлу
- Жмем на кнопку Выгрузить данные
Так выглядит выгруженный обработкой файл:
Шаг 3. В продуктивной базе открываем эту же обработку для загрузки данных
- Переходим на закладку Загрузка
- Выбираем выгруженный ранее файл
- Жмем на кнопку Загрузить данные
Проверяем результат загрузки объекта:
Восстановление удаленного объекта завершено!
Специальные предложения
(1) Аналогично из бекапа из справочника Пользователи выгружаете элемент, который был удален и загружаете в продуктивную базу
Я надеялся прочитать как Вы восстанавливаете по крупицам из базы какие-то остатки элемента, а в итоге просто восстановление из резервной копии. Причем не конкретного элемента, а всего справочника.
И как мог вылезти удаленный без контроля целостности элемент без шаловливых ручек программиста?
(2)
1)
-Ой, не могу удалить справочник, по ошибке ввела
- Лень, даю полным правам все права
*6 month later*
- Выдать пользователю "Стажер" права на использование х справочников
- Лень, даю полные права
*6 month later*
аяяяяй, а, а, а кто же это сделал, аааа?
(4)
3)
- Мы тут обработкой замены ссылок с диска ИТС почистили дубли контрагентов в базе, но почему-то у нас в подчиненной базе (в которую обменам валятся контрагенты, но не документы) у нас в проводках "Объект не найден".
Думал будет какая-то магия, а тут еще и бэкап нужен!
Кто вообще делает в таких случаях бэкапы?)
А актуальные тестовые базы это вообще фантастика.
Гениальное по простоте решение.
Актуальность бекапа тут не важна, этот "главный инженер" и в годичной базе может быть. А вопрос регулярного резервирования это признак квалификации и профессионализма.
"Ничто не обходится так дешево и не ценится так дорого как . рез.копия" (с)
(8) "этот "главный инженер" и в годичной базе может быть."
Только кто гарантирует, что у инженера годовой давности те же значения реквизитов, что и сейчас. )
Статья, на мой взгляд, просто о том, что" бэкапы наше всё".
(9) на самом деле есть на ИС обработки, которые сразу из бекапа сделают замену. А данный метод, ну совсем костыль костылем! А если нет бекапа, то сойдет и Поиск и восстановление битых ссылок
Просмотры 13939
Загрузки 0
Рейтинг 13
Создание 12.11.19 08:40
Обновление 12.11.19 08:40
№ Публикации 1152391
Тип файла Нет файла
Конфигурация Конфигурации 1cv8
Операционная система Не имеет значения
Вид учета Не имеет значения
Доступ к файлу Бесплатно (free)
Код открыт Да
См. также
Восстановление работоспособности файловой базы. 3. Конфигурация Промо
Восстановление работоспособности разрушенной файловой базы. Этап 3. Лечим конфигурацию.
21.04.2013 53037 andrewks 20
Алгоритм нахождения причины ошибки "Обнаружено дублирование ключевых значений в колонках. " в динамическом списке
Доброго времени суток, коллеги. Недавно наткнулся на ошибку "Обнаружено дублирование ключевых значений в колонках: . ". Сразу не понял, как её решать. Когда гуглил, видел только частные решения. Хочу показать один из возможных способов решения проблемы. Мне он помог.
19.01.2022 1191 Andrei_Ivanov 7
Решение ошибки считывания вторичной информации
20.10.2021 1214 Nio 1
Сбилась нумерация в справочнике "Номенклатура"
Сбилась нумерация объектов в справочнике "Номенклатура", что делать? - ЕСТЬ РЕШЕНИЕ.
05.10.2021 1082 Swamt 1
Восстановление SQL базы 1С 8.2. рухнувшей во время сохранения конфигурации. Промо
08.02.2012 136278 VanDiesel1 139
Ошибка "Существуют активные сеансы" в 1С
В данной статье речь пойдёт об ошибке в системе 1С: «Существуют активные сеансы работы с данной базой…», которая возникает при запуске программы. Будут рассмотрены причины возникновения ошибки, проведена её диагностика, а также описаны способы устранения неполадки.
01.10.2021 2865 Koder_Line 0
Дублирование ключей в уникальном индексе '_ACCRGAT' в локальной базе
Ошибка в локальной базе. Небольшая инструкция, как устранить.
11.08.2021 4153 AntonChausov 27
Исправление ошибок 1С-ЭДО
Исправление ошибок 1С-ЭДО: "internalID не соответствует формату" и "документ не соответствует формату".
09.08.2021 6128 Power_0N 3
Ошибка SDBL в 1С
Приветствую, коллеги! В данной статье будет рассмотрена знакомая и набившая оскомину многим специалистам 1С ошибка SDBL, а также возможные пути её устранения.
02.06.2021 7853 Koder_Line 8
Ошибка формата потока данных 1С
01.06.2021 15645 Koder_Line 18
Ошибка "Запрошенное имя верно, но данные запрошенного типа не найдены"
Приветствую, коллеги! В данной статье будет рассмотрена ошибка «Запрошенное имя верно, но данные запрошенного типа не найдены»: причины её возникновения и инструктаж по устранению неполадки.
23.04.2021 2932 Koder_Line 1
Ошибка в программе 1С: "Операция не может быть выполнена"
Доброго времени суток, коллеги! В данной статье будет рассмотрено несколько вариаций ошибки программы 1С «Операция не может быть выполнена…», причины возникновения, а также пути решения на примерах.
23.04.2021 1173 Koder_Line 0
Бухгалтерия 3.0 + Windows 10. Зависание при сохранении бухгалтерского баланса
Попался необычный глюк Бухгалтерии 3.0 на Windows10 - зависание при сохранении бухгалтерского баланса. Разобрался в причине, может, кому-то тоже пригодится.
01.04.2021 1218 SnorkL1 6
Ошибка формата потока. ЗУП 3.1.16.77 и немного о себе
Решая задачу клиента по настройке синхронизации БП и ЗУП, столкнулся с "Ошибкой формата потока". В этой статье расскажу вам, как эту проблему удалось решить, и немного расскажу о себе.
31.03.2021 1066 Dimario_puzo 7
Ошибка при открытии панели функций "Значение не является значением объектного типа (ЭтоГруппа)"
При открытии панели функций в 1С: Бухгалтерии 2.0 возникает ошибка "Значение не является значением объектного тип (ЭтоГруппа)"
18.02.2021 766 delta 0
Причина появления и исправление ошибки SDBL "Таблица или поле Fld. не содержится в резделе FROM"
Данная ошибка возникает при любом действии из следующих: - изменении состава общего реквизита - переключении режима разделения данных в режим "Не использовать" у общего реквизита.
20.01.2021 2070 smwed 3
Пользователь ИБ не идентифицирован
Реанимация ИБ после такой ошибки
12.01.2021 41647 mrcamomile 102
Как восстановить конфигурацию, если разрушены данные
В статье описан один из вариантов восстановления кода конфигурации, если при обновлении данных разрушилась база, и конфигуратор больше не открывается.
23.10.2020 2779 aramius 4
Ошибка формата потока данных, частный случай
Вариант решения ошибки формата потока данных при попытке открытия конфигурации в конфигураторе.
11.07.2020 3460 Zhilyakovdr 8
Исправление ошибки SDBL: Тип поля * несовместим с типом поля *
После обновления конфигурации при записи одного документа стала появляться ошибка "Ошибки SDBL: Тип поля * несовместим с типом поля". В статье привожу пример исправления ошибки.
17.06.2020 6031 Farsis 2
Восстановление данных 1С8 при помощи механизма РИБ
Предлагаю сообществу способ восстановления утраченных данных из бэкапа используя механизм РИБ. Зачастую наличие бэкапа базы не позволяет просто взять и откатить состояние базы на утро или вечер предыдущего дня. Бывает так, что утерю важных данных заметили спустя 2 дня, и свежий бекап нам не поможет. Предлагаю относительно простой способ переноса определенных данных из резервной копии базы в рабочую. Не надо писать обработку по выгрузке, загрузке данных или по переносу через COM-соединение. Единственное условие: в базе должны работать обмены РИБ.
13.06.2020 2027 Vortigaunt 1
Ошибка формата потока. Частный случай при обновлении
При обновлении конфигурации столкнулся с ошибкой формата потока. Нашел вполне экономное решение по времени для решение этой проблемы.
25.04.2020 8198 Gasilin 8
Проверка регистраторов при обновлении конфигурации
При обновлении конфигурации состав движений документов может быть изменен. Если в них были сделаны движения по своим регистрам, то их нужно восстановить. Если забыть это сделать - данные будут утеряны.
23.04.2020 3613 ipoloskov 13
У Вас задваивание безналичных платежей в УТ 11.4, исправляем.
Всем привет. Может такое произойти, что в окне безналичных платежей конфигурации УТ 11 происходит задвоение информации, т.е. от одного и того же контрагента пришли поступления одной и той же суммой в один и тот же день (дублирование). У меня данные из клиент-банка заливаются в БП, а затем через обмен выполняется перелив с БП в УТ, вот и получилось у меня задвоение. В журнале операций все прошло нормально, без задвоений, а вот в самой программе отобразилось уже так, произойти это могло по многим причинам (коряво прошел обмен, ошибка релиза, внутренние ошибки алгоритма и т.п. - вариантов масса). Что я сделал, в первую очередь, конечно, резервную копию.
16.04.2020 6221 VID1234 16
Недопустимое состояние объекта !m_usingOldShema [backend - src\DBGenerationsImpl.cpp (2377)]
Часто после повреждений информационной базы теряются некоторые объекты и остаются только "битые" ссылки на них, имеющие примерно такой вид: " (77:805f000c291e652311e0ad237dea6181)".
Данная обработка позволяет найти такие ссылки и восстановить их в автоматическом режиме (при наличии копии информационной базы).
Битые ссылки появляются в базе как правило после непосредственного удаления объектов (без контроля ссылок на них).
Когда объект был удален непосредственно, то все ссылки на него в справочниках, в документах, в регистрах стали битыми и отображаются следующим образом:
Такие ссылки могут возникать:
1. В результате действий пользователей имеющих право непосредственного удаления объектов, без пометки на удаление и контроля ссылочной целостности перед удалением. Поэтому такие права у пользователей желательно забрать;
2. При выполнении обработки некорректно удаляющей объекты;
3. При выполнении обмена между информационными базами в варианте РИБ или обмен по правилам обмена между отличающимися базами.
Бывает так, что пользователь в одной базе участвующей в обмене, вполне корректно удалил объект т.к. ссылок на него в этой базе не было. Информация об удалении объекта передается в другую базу, где на него есть ссылки. В типовых конфигурациях объект при этом удаляется непосредственно, и возникают "битые" ссылки. Как пример - процедура УдалитьОбъектПоСсылке() в модуле обработки ОбменДаннымиXML. В конце этой процедуры вызывается процедура УдалитьОбъект(Объект, Истина). Вторым параметром в этой процедуре является признак непосредственного удаления объекта. Необходимо заменить его на Ложь;
Битые ссылки можно обнаружить при выполнении тестирования и исправления, включив опцию "Проверка ссылочной целостности информационной базы". А также их можно увидеть при работе с базой в режиме 1С:Предприятие, открыв форму объекта содержащего в одном из реквизитов "битую" ссылку.
Если имеется достаточно свежая архивная копия базы, то можно попробовать восстановить эти ссылки.
Для этих целей в интернете можно найти достаточно много обработок.
Например вот эта: http://help1c.com/faq/view/1128.html "Поиск в базе битых ссылок - "объект не найден", которая позволяет найти битые ссылки в режиме 1С:Предприятия, без запуска конфигуратора 1С и выполнения "тестирования и справления".
Однако, заниматься этим вручную - это утомительная и малопроизводительная трата времени. Гораздо эффективнее поручить эту работу самой же 1С.
На Инфостарте уже публиковались обработки позволяющие сделать это автоматически.
И хотя цели у моей и этой обработки одинаковые - восстановление "битых" ссылок по архивной копии, подход к решению этих целей у нас разный.
Основное отличие моей обработки состоит в следующем:
Не используется протокол тестирования полученный в конфигураторе. Битые ссылки ищутся непосредственно в режиме 1С:Предприятия. При этом можно ограничивать поиск определенным типом объектов, например искать только ссылки с типом "Справочник.ДоговорыКонтрагентов".
Несмотря на наличие подобных обработок на Инфостарте, возможно эта покажется кому-то более удобной в использовании.
Вовремя сделанная архивная копия может избавить вас от многих проблем. Удачи!
P.S. Добавлена версия портированная на управляемые формы - файл Poisk Objekt ne najden_82UF.epf
Читайте также: