Как перебрать все данные всех регистров сведений. #540454


#0 by AllJoke
День добрый. Вопрос собственно в теме. Делается чито для поиска битых ссылок в значениях того или иного регистра сведений. Т.е есть РегистрыСведений - штук 11, вот все их перебираем, перебираем их измерения, их ресурсы, их реквизиты и ищем ссылку в которой "Объект не найден". Кто нить что нить подобное делал?
#1 by zak555
выборка ?
#2 by tocaelectro
Тестирование и исправление
#3 by AllJoke
В выборке придется явно указывать каждый регистр конфигурации. А я вот такое нашел: Для Каждого РегистрСведений Из Метаданные.РегистрыСведений Цикл НО!!! Там берутся только объекты, сами данные получить не могу допереть.
#4 by AllJoke
ну и что? нет никаких идей???
#5 by YouAreEmpty
Можно сделать программный запрос с объединением данных регистра
#6 by AllJoke
Ого! И каким же это макаром?
#7 by YouAreEmpty
Для лазания конкретно по записями удаления их это тебе нужен объект вида РегистрСведенийНаборЗаписей.ИмяРегистра
#8 by AllJoke
Да это я понимаю. Но как мне получить на каждый регистр сведений вот этот самый НаборЗаписей?
#9 by YouAreEmpty
Обходишь по метаданным регистры сведений и нужные поля добавляешь программно к тексту запроса, используя ключевое слово объединить все. Но это чтобы получить данные для изменения таких данных нужно лазить по наборам записей
#10 by YouAreEmpty
Щас помозгуем:)
#11 by Maxus43
Для Каждого РегистрСведений Из Метаданные.РегистрыСведений Цикл Для каждого ЗапИсь Из НаборЗаписей Цикл ..... типа что-то
#12 by YouAreEmpty
Одного не пойму зачем это тебе? или у тебя свойство "Ведущее" не во всех измерениях выставлено?
#13 by Mitriy
на инфост_арте (антимат... гы...) таких обработок вроде полно...
#14 by Mitriy
у него ссылки в ресурсах, видать...
#15 by AllJoke
"Идешь туда не знаю куда, искать то не знаю что" - я нифига не понял. Допустим Начинаю беребирать регистры сведений Для Каждого РегистрСведений Из Метаданные.РегистрыСведений Цикл        Сообщить("!"); Вот что то в этом роде. НО!!! Если Измерение имеет тип СправочникСсылка.ФизическиеЛица? Как получить данные?
#16 by YouAreEmpty
Тут проблема в том как от метаданных к объекту перейти
#17 by Maxus43
А у тебя во всех это стоит?)
#18 by YouAreEmpty
Ты лучше скажи нам конечную цель такого поиска, так может и решение оптимальней найдем
#19 by Maxus43
Если ТипЗнч(Измерения) = Тип("СправочникСсылка.ФизЛица") Тогда ...
#20 by YouAreEmpty
Ну вроде при контроле ссылочной целостности у он не удалит объект если на него есть ссылки даже в регистрах сведений,такая трабла может возникнуть либо при переносе данных либо при непосредственном удалении
#21 by YouAreEmpty
Ага и так для каждого справочника в конфигурации, коих может быть под сотню
#22 by AllJoke
Удалить записи регистров сведений, где ссылка = "Объект не найден". И потом впихнул этот код, ругается: {Форма.Форма.Форма(170,17)}: Ожидается выражение        НаборЗаписей =<<?>> [РегистрСведений.Имя].СоздатьНаборЗаписей; (Проверка: Толстый клиент (обычное приложение))
#23 by YouAreEmpty
А вас с восьмеркой вообще как?
#24 by AllJoke
Начинания. Но это же он посоветовал.
#25 by YouAreEmpty
Тестирование и исправление по идее само найдет и удалит ссылки на несуществующие объекты, может попробуете на копии прогнать?
#26 by YouAreEmpty
Ну он в виде синтаксического шаблона:). Все таки попробуйте для начала тестирование и исправление, только на копии
#27 by Maxus43
я ж не проверял) как то так должно быть... вникни
#28 by AllJoke
Блин. А можно не прибегать к ТИИ??? Можно все таки программно, раз уж мы тут программеры.
#29 by МихаилМ
ищите на ин-стрте по "Объект не найден" там есть обработки борьбы (выявления,удаления) с битыми ссылками
#30 by YouAreEmpty
И кстати откуда у вас в базе битые ссылки взялись?
#31 by Maxus43
+
#32 by Maxus43
нашёл? Ниже дана программа для удаления записей регистров, у которых регистратор - битая ссылка, т.е. не существует в базе.
#33 by YouAreEmpty
Можно закрывать:)
#34 by AllJoke
Я все это читал. Там затрагивают регистраторы. А у меня режим записи всех регистров независимый.
#35 by Maxus43
Ну проверяй не регистратор а измерения... Регистратор - такое же поле как и другие
#36 by Alexandr Puzakov
Все просто...
#37 by AllJoke
Ты думаешь? Объясни. Ладно. Попробую. Уже конец рабочего дня. Отпишуь.
#38 by Alexandr Puzakov
я не думаю, я знаю.
#39 by AllJoke
Так поделись опытом.
#40 by PetrVV
- скачай эту обработку, она поможет.
#41 by Alexandr Puzakov
тут ничего сложного нет. Только запросом не пользуйся для получения данных, лучше выборкой. Если регистры большие, то 1Ска может упасть. Проверить, существует  ли такое значение легко:
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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