Как удалить записи пер. Рег. Сведений у которого Измерение: <Объект не найден> ? #657961


#0 by vladimir-boy
Есть такой запрос: ГДЕ    РасценкиТехнологическихОпераций.ТехнологическаяОперация.Ссылка ЕСТЬ NULL В результатеЗапроса: Выходят некоторые записи у которых измерение "ТехнологическаяОперация"(Справочник) было грохнуто - <Объект не найден> (225:99de0025901805cd11e01e78470e8ce4), причём не понятно почему записи данного Регистра Сведений висят в базе, ведь измерение "ТехнологическаяОперация" идёт с флагом "Ведущее". Как удалить эти записи??? Спасибо за ответы.
#1 by Maxus43
так и удаляй, отбор на "<Объект не найден> (225:99de0025901805cd11e01e78470e8ce4" ставь как обычно
#2 by samozvanec
ТИИ-очищать-удалить пустые
#3 by vladimir-boy
В том то и дело, что не до пру как поставить отбор "на нечто" ???
#4 by mikecool
выделить строки - нажать дел ))
#5 by Лефмихалыч
выбрат эти записи запросом и то,что выберется использовать для отбора
#6 by vladimir-boy
ТИИ долго, хотя как вариант Да
#7 by Maxus43
запросом, Где Измерение.Ссылка Есть null например
#8 by H A D G E H O G s
Неполучица.
#9 by samozvanec
причем тут нулл?
#10 by Maxus43
битые ссылки дают null при неявном соединении, как например через точку. так ищут битые ссылки в запросах
#11 by H A D G E H O G s
а) Сдедать копию б)Отловить запрос в профайлере. в) Заменить Select на delete г) Profit
#12 by acsent
нафиг такой геморой?
#13 by samozvanec
точно)
#14 by Maxus43
пилять, вы чо усложняете? запросом обычным ищутся битые ссылки легко, и так же легко на них ставится отбор потом и удаляются записи из регистров
#15 by H A D G E H O G s
Потому что другие варианты 1С отвергнет. Раньше так было.
#16 by H A D G E H O G s
Неудаляются.
#17 by Maxus43
я недавно удалял. на 8.2.15, всё норм
#18 by Maxus43
на непериодическом независимом регистре. С другими проблем тоже не вижу
#19 by acsent
#20 by H A D G E H O G s
Ну значит стар стал, битых ссылок боюсь, девок не порчу, нетленки не пишу.
#21 by Лефмихалыч
у меня где-то даже обработка есть, которой в любых регистрах можно крошить записи с битыми ссылками
#22 by Maxus43
я тоже не молод, но даже на 8.0 было именно так, всегда так было) не помню я чтоб 1с отвергала такой нежный подход
#23 by vladimir-boy
пытался да и другими способами, но результат пока нулевой, но я ещё не сдался
#24 by Maxus43
всё ж сказали подробно вроде, или что?
#25 by vladimir-boy
+ НЕ СРАБАТЫВАЕТ, к сожаленью: МойЗапрос = Новый Запрос;    МойЗапрос.Текст="ВЫБРАТЬ
#26 by acsent
а где обход выборки то?
#27 by vladimir-boy
С таким кодом вообще ошибка вываливается: {Форма.ФормаОтчета.Форма(1326)}: Поле объекта недоступно для записи (ТехнологическаяОперация) Код:
#28 by acsent
тебе прям до последнего разжовывать чтоли?
#29 by vladimir-boy
Да буду стараться сам, спасибо огромное итак, сообщу обязательно если у меня получится
#30 by GANR
У самого возникает инстинктивное желание SQL припахивать всюду где не лень , но надо по православному . Я склоняюсь к чему-то ещё более православному варианту - восстановить несуществующие объекты, на которые имеются ссылки в РС. Для этого можно воспользоваться типовой обработкой  ВыгрузкаЗагрузкаДанныхXML.epf . Отобрал в архивной копии базы "битые" объекты, выгрузил в xml, загрузил в целевую базу - всё... и кодить не надо. По сути ВыгрузкаЗагрузкаДанныхXML.epf реализует такой алгоритм: GUID_ПотерянногоЭлемента = Новый УникальныйИдентификатор("6ce92cb6-6d92-11e0-afc8-003048f27c5f");
#31 by vladimir-boy
Спасибо! Вот это очень интересное решение путём восстановления объекта измерения, опробую такой вариант обязательно.
#32 by alexei366
Да хз, измерение как понимаю ссылка на спр какойто, ну так и сделать запрос по регистру с левым соединением на таблице справочника, и в условии ЕСТЬNULL на колонку таблицы справочника к примеру на туже самую ссылку. И вернет тебе запрос все измерения коих нет в справочнике уже, ну а дальше удаляй
#33 by vladimir-boy
Найти не вопрос, а удалить балалайка: только кажется что можно на раз-два
#34 by GANR
А чтобы узнать, какие элементы в копии соответствуют "битым" ссылкам (GUIDы-то в "битой" базе есть)
#35 by Reset
Удаляется элементарно, на раз-два. Другое дело, что ты пока не освоил работу с даже элементарными механизмами платформы - выбороками из запроса, записями рс, наборами.
#36 by vladimir-boy
maybe , но поверь что вариант только прокатит(сдаётся мне), который предложил GANR Предложи реальный код, пожалуйста
#37 by Reset
Что предлагать? Ответ на вопрос в сабже дан в посте . Писать за тебя код не буду, уж извини. +1 к. то же говорит дело, но это уже вопрос подхода в конкретном случае.
#38 by vladimir-boy
Пробовал Как в но ругается ошибкой, что не понимает
#39 by Reset
Я бы делал (это уже выходит за рамки заданного вопроса) сначала поиск ссылок по базе, если есть ссылки в других местах, кроме РС, то "восстанавливал" бы объект. Иначе удадял из регистра.
#40 by Reset
Это ты не понимаешь, повторюсь.
#41 by Reset
в расшифровка
#42 by vladimir-boy
Ок. Намёк понятен. Буду биться как рыба об лёд, но попытаюсь достичь результата!
#43 by GANR
Вот ещё статейка ключевое
#45 by fisher
ИМХО, самый простой способ - оживить регистраторов по битым ссылкам и тут же их грохнуть вместе с записями.
#46 by Reset
у него вроде на справочник(ТехнологическаяОперация) "висит" ссылка, а не на регистратор. Хотя согласен, если этот регистр таки подчинен регистратору, тогда правильней, действительно, в документе проставить правильное значение(выбрать существующий элемент) и перепровести. Или восстановить элемент справочника по ссылке. А не удалять часть движений документа. Впрочем, это укладывается в ;)
#47 by GANR
На примере : 1. Строчка в ТИИ <Объект не найден> (225:99de0025901805cd11e01e78470e8ce4) Вот по п.3 и надо вычислить живую Ссылку в копии и скормить .
#48 by Reset
Если по примеру , у него уже есть готовая ссылка как результат запроса и преобразования представления уида туда-сюда не нужны.
#49 by Reset
то есть в можно сразу к четвертой строке приступать ОбъектПоСсылке.УстанвитьСсылкуНового(Ссылка_ПотерянногоЭлемента_ПолученнаяИзЗапроса);
#50 by fisher
Без разницы. Измерение-то ведущее. Если создать элемент справочника по битой ссылке и тут же его грохнуть - всё будет в ажуре.
#51 by Reset
Собственно, не возражаю, если других ссылок, кроме как в РС нету. А если нету то почему просто не грохнуть :) без разницы в общем
#52 by GANR
О! запрос. Тогда БитаяСсылка.УникальныйИдентификатор Ищем в копии базы по , ВыгрузкаЗагрузкаДанныхXML.epf
#53 by Reset
а если есть регистратор то возражаю. Но тогад и ссылка будет в документе
#54 by Reset
Я думаю мы тут зря решаем вопрос, авто то ушел 4 дня назад :)
#55 by Reset
автор*
#56 by GANR
а это  н а м  пригодится полюбому
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С