Битые ссылки. Поиск, удаление, восстановление.

06.04.12

Разработка - Инструментарий разработчика

Поиск битых ссылок в базе данных.
Возможности:
    - отбор таблиц данных по объектам метаданных;
    - управление результатом поиска (перегруппировка);
    - восстановление битых ссылок из резервной копии;
    - удаление объектов с битыми ссылками;
    - подстановка пустых значений вместо битых ссылок;
    - установка/снятие пометки удаления ссылочных объектов с битыми ссылками;
    - отчет по результату поиска битых ссылок (на СКД со всеми возможностями настройки).

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Обработка поиска битых ссылок
.epf 71,76Kb
2025
2025 Скачать (1 SM) Купить за 1 850 руб.

Поиск битых ссылок с выбором объектов метаданных, в таблице данных которых нужно найти битые ссылки.

Удобное представление результата поиска битых ссылок с настройкой группировки данных.

Вывод найденных битых ссылок в табличный документ (СКД).

Могут возникнуть ошибки при выполнении обработки на клиент-серверном варианте ИБ, связанные со сложностью запросов для поиска битых ссылок.

Обработка позволяет проводить некоторые манипуляции с битыми ссылками.

Функции:

1. восстановление объектов битых ссылок из резервной копии с возможностью выбора объектов для восстановления;

2. замена битых ссылок пустыми;

3. пометка на удаление ссылочных объектов с битыми ссылками;

4. удаление объектов с битыми ссылками.

 

Обработку можно использовать как источник полезных функций для поиска битых ссылок и некоторых манипуляций с ними.

Имеются следующие полезные экспортные функции:


//  Возвращает таблицу битых ссылок
//  МассивМетаданных - массив метаданных, в которых нужно искать битые ссылки
//  ИсключитьМетаданные - массив метаданных для исключения
//  Таблица - объект таблицы значений в который нужно поместить данные (таблица очищается полностью)
//  ИсточникПодробно - (истина/ложь) расшифровка источника до ссылки или ключа записи
Функция ПолучитьТаблицуБитыхСсылок(ОбъектыМетаданных = Неопределено, ОбъектыМетаданныхИсключить = Неопределено, Таблица = Неопределено, ИсточникПодробно = Ложь, ПоказатьИндикатор = Истина) Экспорт
 

//  Свойства (структура):
//      Реквизиты - соответствие (ОбъектМетаданных - СтрокаРеквизитов)
//      ПоказатьИндикатор (Булево)
//      РежимЗагрузкиПриОбменеДанными (Булево),
//      МетодыОчисткиРегистровСведений (Соответствие), Методы: "Перезапись", "УдалениеПоЗаписям"
//      ОчищатьРегистрыПоРеквизитуРегистратор (Булево)
Функция ОчиститьДанныеОтБитыхСсылок(ОбъектыМетаданных = Неопределено, ОбъектыМетаданныхИсключить = Неопределено, ТаблицаБитыхСсылок = Неопределено, Свойства = Неопределено) Экспорт
 

//  Восстанавливает битые ссылки в массиве из внешней информационной базы
//  Свойства - структура:
//      РежимЗагрузкиПриОбменеДанными (Булево)
Функция ВосстановитьБитыеСсылкиИзВнешнейИнформационнойБазы(МассивБитыхСсылок, Соединение, Свойства = Неопределено) Экспорт

 

Обработка проверена на конфигурациях: УПП, БП, ЗУП, УТ и проч.

Исправлены найденные ошибки. См. комментарии. 

http://forum.infostart.ru/forum24/topic46716/message511514/#message511514

http://forum.infostart.ru/forum24/topic46716/message512103/#message512103

Спасибо Kolespvlunegov.

Оптимизированы запросы поиска битых ссылок.

06.04.2012. Исправлена ошибка с переменной "глОбщиеЗначения". Добавлена возможность установки владельца при создании элемента по битой ссылке с владельцем.

См. также

SALE! 15%

Инструментарий разработчика Роли и права Запросы СКД Программист Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Конфигурации 1cv8 Платные (руб)

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

10000 руб.

02.09.2020    159415    872    399    

861

SALE! 15%

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 7140 руб.

20.08.2024    7768    55    22    

66

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

9360 руб.

17.05.2024    23432    68    45    

117

SALE! 15%

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

10000 8500 руб.

10.11.2023    10417    36    21    

61

SALE! 15%

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:Конвертация данных 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

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

22200 19980 руб.

06.10.2023    15396    35    7    

70

SALE! 35%

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

4800 3120 руб.

14.01.2013    187975    1138    0    

912

SALE! 15%

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

15000 12750 руб.

07.10.2021    17302    6    32    

42

Инструментарий разработчика Программист Платные (руб)

Менеджер конфигураций 1С — альтернативный стартер информационных баз 1С:Предприятие.

1800 руб.

21.02.2023    7694    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Культурный 4 21.11.11 13:29 Сейчас в теме
Чем отличается от удаления битых ссылок в Тестировании и исправлении?
2. nalivai-chai 693 21.11.11 13:46 Сейчас в теме
Тем что можно обработать конкретные объекты, проанализировать ситуацию, сохранить время на том, чтобы не анализировать всю базу, а выбранные объекты, да и вроде работает пошустрей, чем стандартное тестирование.
В РИБе битые ссылки это нормальная ситуация и нужно обработать базу данных выборочно.
Обработка не претендует на уникальность.
9. AlexO 135 27.11.11 01:53 Сейчас в теме
(2) nalivai,
что за отдельный вид битых ссылок "битые ссылки в РИБ"??
и что значит "выбираем объекты", когда поиск битых ссылок - это поиск по всей базе?
Смысл посика таких ссылок - это освободить базу от них, и очистить документы от несуществующих ссылок, а не ОБЪЕКТЫ.
А возникнуть они могут везде и всюду...
Я сам пользуюсь запросом, да и поиск так называемых "битых ссылок" - занятие нетривиальное: ссылки могут быть <12FG-1254-....>; могут быть необновлены (как в РИБ - ссылка по удаленной базе "жива", а на самом деле - уже не существует, ошибка такая, синхронизация баз не всегда верно обновляет ссылки; могут быть "<объект не найден>" и т.д....
Вы конкретный механизм поиска можете описать? что ищете, что удаляете..
а то опять все на новичков рачитано - "удаляем ссылки! спешите!"
ЧТО КОНКРЕТНО ДЕЛАЕТ ОБРАБОТКА?
sasha777666; +1 Ответить
11. nalivai-chai 693 27.11.11 22:55 Сейчас в теме
AlexO пишет:
что за отдельный вид битых ссылок "битые[IS-QUOTE]AlexO пишет:
ЧТО КОНКРЕТНО ДЕЛАЕТ ОБРАБОТКА?
ссылки в РИБ"??[/IS-QUOTE](9) AlexO,
Вроде я нигде не классифицировал битые ссылки.
В РИБ (распределенная информационная база) битые ссылки - вполне естественное явление, и если есть битая ссылка, то это ещё не значит, что возникла, какая-то ошибка.
AlexO пишет:
что значит "выбираем объекты", когда поиск битых ссылок - это поиск по всей базе

Это значит:
1. если я знаю что в регистре сведений "ОДИН" есть битые ссылки, но мне они не интересны, то я могу исключить его из рассмотрения и не тратить на него времени.
2. если вдруг найдена битая ссылка с контрагентом в документе какого-то вида, я хочу посмотреть, а в каких ещё документах этого вида, есть битые ссылки.
3. я точно знаю, что в объектах какого-то вида нет битых ссылок или мне их наличие безразлично, то зачем тратить время на эти объекты.


AlexO пишет:
Смысл посика таких ссылок - это освободить базу от них, и очистить документы от несуществующих ссылок

и это в том числе, решений может быть много, в обработке есть все механизмы для того чтобы решить эту задачу просто. Нужно добавить пару строк и использовать готовые фунцкии))).
Интересно как очистить поле "Регистратор" регистра сведений, если он является битой ссылкой, не удаляя при этом строку из регистра?
AlexO пишет:
ЧТО КОНКРЕТНО ДЕЛАЕТ ОБРАБОТКА?

На этот вопрос отвечу в публикации.
3. Культурный 4 21.11.11 14:12 Сейчас в теме
Для РИБ выборочное тестирование правда тема.
4. cdb 26 21.11.11 19:41 Сейчас в теме
Спасибо за обработку. Простенько и со вкусом. Мне по крайней мере пригодилась.
5. pvlunegov 158 25.11.11 09:28 Сейчас в теме
Спасибо за обработку. Полезна для мониторинга ситуации. Особенно когда лень запускать Тестирование и Исправление.
1С-овцы лень было сделать что-то подобное, за что автору спасибо.
Кстати, у 1С много таких маленьких доработок можно сделать.
Вроде как уже есть типовой функционал, но у автора он удобнее, нагляднее.
ЗА что спасибо автору!

P.S. Лень программиста - двигатель прогресса...
6. dashanika 25.11.11 14:57 Сейчас в теме
присоединяюсь к (5).
Спасибо большое! и в правду, не хватает у 1с интерфеса чуток...
7. nataon 25.11.11 15:45 Сейчас в теме
8. pvlunegov 158 25.11.11 15:59 Сейчас в теме
Извините за незнание сайта Инфостарт... У меня возникла идея создать тему - что полезного можно улучшить в 1С в плане функционала...

Может уже есть что-то подобное, я просто не видел.

На самом деле идей куча, в основном касаемо интерфейса, удобства..
Большинство негативных реакций на неудобства быстро забываются пользователями, они привыкают к ним.
И ЭТО НЕХОРОШО.

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

Причем просьбы от пользователей иногда очень неожиданные, даже странные, НА ПЕРВЫЙ ВЗГЛЯД.
Если их просьбы воплотить, то работать в 1С станет намного удобнее и быстрее
unknown181538; CaSH_2004; +2 Ответить
10. amatisol 27.11.11 22:07 Сейчас в теме
Спасибо за обработку. Полезна для мониторинга ситуации. Особенно когда лень запускать Тестирование и Исправление.
1С-овцы лень было сделать что-то подобное, за что автору спасибо.
Кстати, у 1С много таких маленьких доработок можно сделать.
Вроде как уже есть типовой функционал, но у автора он удобнее, нагляднее.
ЗА что спасибо автору!
12. Koles 28.11.11 09:01 Сейчас в теме
Управление торговлей 10.3 такое выдала:
{ВнешняяОбработка.ПоискБитыхСсылок.МодульОбъекта(1482)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:

по причине:
{(37, 21)}: Поле не найдено "ТочкаМаршрута.ВерсияДанных"
ИЛИ (ТочкаМаршрута.<<?>>ВерсияДанных ЕСТЬ NULL
nalivai-chai; +1 Ответить
13. Koles 28.11.11 09:35 Сейчас в теме
Если кнопку очистка регистров нажать, тогда:
{Форма.Форма.Форма(905)}: Поле объекта не обнаружено (ШтатноеРасписаниеОрганизаций)
МетодыОчисткиРегистровСведений.Вставить(Метаданные.РегистрыСведений.ШтатноеРасписаниеОрганизаций, "Перезапись");
Обработка под конкретную конфигурацию?
14. nalivai-chai 693 28.11.11 09:58 Сейчас в теме
Спасибо, будет исправлено.
15. pvlunegov 158 28.11.11 15:20 Сейчас в теме
1С 8.2 "Комплексная Автоматизация" при запуске поиска битых ссылок, строка состояния заполнялась примерно до 30%, после чего выдавалось сообщение:

{ВнешняяОбработка.ПоискБитыхСсылок.МодульОбъекта(1286)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:

по причине:
{(1090, 6)}: Превышение допустимой вложенности операций
<<?>>ИЛИ СсылкаОбъекта = ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаПартий.ПустаяСсылка)

Лень была разбираться в ошибках, автору на заметку...
16. pvlunegov 158 28.11.11 15:23 Сейчас в теме
ЗЫ...

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

Автору просьба прокомментировать ошибку, которую я описал выше, возможно это натолкнет меня на то, где копать.
Заранее спасибо.
17. pvlunegov 158 28.11.11 15:35 Сейчас в теме
ЗЫ.

Автору на заметку - в ошибке ругалось на справочник Справочник.КлючиАналитикиУчетаПартий.
Попытался убрать галки в списке, чтобы обработка не проверяла его.
Не помогло, все равно выскакивает ошибка.
Таким образом, несмотря на то, что в списке проверке справочника нет, он в коде все равно проверяется.

Нехороший признак... Автору незачет!

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

Кстати, тут интересная аналогия с боевыми действиями. На учениях сержант проверяет по списку людей(справочники)...
- Иванов?
- Я!
- Сидоров?
- Нету его, он в туалет пошел!
- меня не колебет, пока не будет в строю, все будут его ждать!
ТА-ЖЕ ситуация во время войны... (Обработка, устойчивая к незнакомой конфигурации)
Сержант проверяет по списку солдат:
- Иванов?
- Я!
- Сидоров?
- Нету его, он ПОГИБ СМЕРТЬЮ ХРАБРЫХ!
- Ну и фиг с ним, дальше по списку пойдем...
- Гаврилов?
nalivai-chai; +1 Ответить
18. nalivai-chai 693 28.11.11 21:04 Сейчас в теме
pvlunegov пишет:
{ВнешняяОбработка.ПоискБитыхСсылок.МодульОбъекта(1286)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:

по причине:
{(1090, 6)}: Превышение допустимой вложенности операций
<<?>>ИЛИ СсылкаОбъекта = ЗНАЧЕНИЕ(Справочник.КлючиАналитикиУчетаПартий.ПустаяСсылка)


Спасибо за найденные ошибки, анекдот в кассу)))
Все исправил.
Проверил работу обработки на УПП. Все ОК.
19. Oli29 14 30.11.11 11:46 Сейчас в теме
А мне обработка не помогла.
База БУ8 оказалась сбойной "Файл базы данных поврежден...", такую ошибку выдает и при выгрузке базы и при тестировании,Короче в некоторых случаях вылетает и не хочет дальше ни работать, ни исправлять ошибки.
Ваша обработка отработала без вылетов, но и ошибок не обнаружила. А я так надеялась. Может нужно попробовать другую обработку-реаниматор?
21. nalivai-chai 693 30.11.11 13:34 Сейчас в теме
(19) Oli29,
Oli29 пишет:
База БУ8 оказалась сбойной "Файл базы данных поврежден..."


Маловероятно, что проблема вообще в битых ссылках.
Может Вам поможет утилита от 1С: "C:\Program Files\1cv82\8.2.14.528\bin\chdbfl.exe"(19) Oli29,
23. Oli29 14 30.11.11 16:59 Сейчас в теме
(21)
Спасибо, действительно помогла эта утилитка, и база исправилась.
59. IgorXml 730 18.03.15 15:38 Сейчас в теме
(21) Спасибо, это помогло - утилита от 1С: "C:\Program Files\1cv82\8.2.XXX.XXX\bin\chdbfl.exe"
Обновляли файловую базу на БП 2.0.64 и прервали.
Обработкой делать пробовал, но ничего не получилось:
Прикрепленные файлы:
20. verad 67 30.11.11 12:57 Сейчас в теме
Обработка не работает в SQL-базе, превышение максимального количества таблиц в запросе. Пробовала отметить в дереве метаданных хотя бы просто один! вид документа - получаю эту ошибку. Если бы работала - была бы очень полезная вещь.
22. nalivai-chai 693 30.11.11 13:38 Сейчас в теме
(20) verad,

verad пишет:
Обработка не работает в SQL-базе


.... не для всех объектов метаданных.
Остается только, выгрузить в файловую базу.
24. пользователь 05.12.11 02:16
Сообщение было скрыто модератором.
...
25. vetalm 91 22.01.12 20:34 Сейчас в теме
задумка и подход мегакул но результат не удовлетворяет.
Моя история: необходимо почистить регистры накопления без регистраторов - отмечаю необходимые регистры, ищу битые ссылки, находит приблизительно 10000 записей, отмечаю объекты по реквизиту регистратор, удаляю. Со списка вродь как все удаляются но когда смотрю список регистров накопления битые записи всеже на месте. Обработкой "регистрация изменений" объектов для РИБ смотрю то в нужном регистре появляются 10000 записей измененных. Запускаю на обработке "поиск битых ссылок" вновь поиск опять находятся все теже 10000 записей. Вобщем чевойто то тут не все доделано.
26. tormozit 7229 19.02.12 10:55 Сейчас в теме
27. Klondaik 25.02.12 22:12 Сейчас в теме
Спасибо за обработку. Удобный интерфейс, функционал понравился..Вобщем почистил базу нормально:)
28. pvlunegov 158 12.03.12 14:15 Сейчас в теме
Спасибо за обработку! Поставил плюс. Некогда было разбираться с другими возможностями.
В своей базе заменил кучу битых ссылок на пустые. Быстро и эффективно.

Но!
Автора прошу в модуле объекта добавить строку:
"
Перем глОбщиеЗначения;
"

Иначе ругань при открытии обработки.
А так все вроде работает.
29. Жолтокнижниг 259 13.03.12 17:27 Сейчас в теме
Заочно +1, завтра буду тестить если что отпишусь
30. Sairys 05.05.12 18:00 Сейчас в теме
Обработка отличная, мне очень понравилась, а главное базу не грузит во время поиска. Да и ищет быстро. И очень удобная, автору респект
31. Tur_gad 21.06.12 09:22 Сейчас в теме
Обработка супер. Но нельзя ли такуюже под 8,1 скинуть пожалуйста ОЧЕНЬ НАДО!!!!!!!!!!!
32. nalivai-chai 693 29.06.12 20:36 Сейчас в теме
(31) Tur_gad,
Нет платформы 8.1 под рукой.
Но...
Вы можете попробовать сделать обратную конвертацию следующим путем:
- добавить обработку в конфигурацию на платформе 8.2,
- затем скопировать её в буфер (Ctrl+C),
- открыть любую конфигурацию на платформе 8.1
- выбрать ветку обработки и вставить обработку из буфера (Ctrl+V).
Должно получиться.
Сам не пробывал, но слышал о таком методе.
33. marku 63 17.08.12 09:53 Сейчас в теме
Хорошо бы вставить ОбработкаПрерыванияПользователя()
34. 1977 2 21.08.12 13:05 Сейчас в теме
Под УТ11 не запустилось!!!
35. nalivai-chai 693 21.08.12 13:28 Сейчас в теме
(34) 1977, запустите в "обычном приложении", не в "управляемом".
36. 1977 2 21.08.12 13:48 Сейчас в теме
Значить не пойдет в Ут11.
37. nalivai-chai 693 21.08.12 14:30 Сейчас в теме
(36) 1977, да почему же не пойдет?
Подскажу: Открываете конфигуратор. Главное меню -> Отладка -> Начало отладки -> Толстый клиент (обычное приложение): начать отладку.

Откроется ваша УТ11 с обычным инетрфейсом. Без всяких интерфейсов и красивостей. Но зато можно запустить обработку с обычным интерфесом.
38. 1977 2 21.08.12 15:06 Сейчас в теме
Там такого нету!!
Прикрепленные файлы:
39. nalivai-chai 693 17.11.12 20:48 Сейчас в теме
(38) 1977, В конфигураторе нужно установить параметры:

Главное меню -> Сервис -> Параметры... -> вкладка "Общие" -> выбрать "Управляемое приложение и управляемое приложение";

тогда будет доступен запуск отладки в режиме " Толстый клиент (обычное приложение)".
40. Jon2011 80 17.12.12 12:32 Сейчас в теме
У меня всегда вызывало сомнение, при запуске стандартной ТИ, что выбирать - удаление битых ссылок или восстановление объекта, потому как нужное выбирать приходится в темную. А здесь всегда можно посмотреть с чем связана ссылка и окончательно решить, что с ней делать.
Безусловно полезная обработка. Однозначно плюс.
41. teplova 71 21.05.13 07:21 Сейчас в теме
Здравствуйте, у меня БП 8.2. Есть битая ссылка. Но Ваша обработка ее не находит почему-то.
42. nalivai-chai 693 21.05.13 19:33 Сейчас в теме
(41) teplova, скажите, пожалуйста, с какими объектами связана битая ссылка (тип битой ссылки, в объекте какого типа она обнаружена)?
43. echo77 1906 13.06.13 10:07 Сейчас в теме
Отличная вещь! Правда пока почему-то не получилось подключиться к внешней базе
Если бы можно было бы сохранять настройки - было бы вообще здорово!
44. echo77 1906 14.06.13 08:35 Сейчас в теме
(0) Ошибка при попытке установить пометки на удаление для объектов с битыми ссылками в табличных частях.
Прикрепленные файлы:
45. stupid01 22 12.08.13 15:50 Сейчас в теме
46. ls300 5 15.08.13 02:10 Сейчас в теме
Огромное спасибо, за обработку! Не было времени выдумывать свою, а восстанавливать надо..
47. Synoecium 785 19.09.13 15:26 Сейчас в теме
Хорошая обработка, вот только при выполнении "Очистка регистров" выдало следующую ошибку:

Возникла ошибка при обработке объекта: РегистрСведений.АналитикаУчетаПрочихЗатрат
{ВнешняяОбработка.ПоискБитыхСсылок.МодульОбъекта(1592)}: Ошибка при вызове метода контекста (Выполнить)
Выборка = Запрос.Выполнить().Выбрать();
по причине:
Ошибка выполнения запроса
по причине:
Построенный запрос к СУБД использует слишком много таблиц. Допустимо не более 256.
Microsoft OLE DB Provider for SQL Server: Too many table names in the query. The maximum allowable is 256.

Это можно как-то обойти?
Конфигурация: УПП 1.3.40.1, платформа 8.2
brian001; +1 Ответить
48. nalivai-chai 693 19.09.13 16:01 Сейчас в теме
(47) Synoecium, если база не совсем огромная, то можно равзернуть как файловую. На файловой такой ошибки не должно быть. Вообще есть обработка, где решена эта проблема, в ближайшие дни постараюсь выложить.
49. insurgut 208 15.10.13 07:29 Сейчас в теме
Отличная обработка! Не раз выручала :)
50. shmellevich 136 31.10.13 17:13 Сейчас в теме
Спасибо, автору, за золотые руки!!! Только что, очень помогло восстановить все битые Товары и к ним подчиненные справочники )))
51. 7OH 70 20.11.13 14:37 Сейчас в теме
Поддерживаю идею о сохранении настроек.
И после поиска логично переходить в список найденного.
52. gaglo 21.11.13 10:03 Сейчас в теме
Обработка хороша. Богатые возможности, добрый интерфейс. И ещё - она работает! (Это главное!)
НО, конечно, есть мелкие замечания - возможно, на будущее...
Запускал в конфигурации, где нет общей формы ХодВыполненияОбработкиДанных. Выборка, конечно, идет, но без всякой индикации, и (по-моему) постоянная обработка исключений в этом случае затянула цикл вдвое. Наверное, стоило бы индикацию процесса сделать через Состояние - скромненько, но и быстренько.
Стоило бы добавить еще возможность отбора типов битых ссылок для поиска - скажем, только ссылки на единицы измерения. При решении уже известных проблем время бы экономилось.
Ну и, конечно, то, что в (51) - поддерживаю.
53. tanselja 4 13.03.14 12:09 Сейчас в теме
Классная обработка!!!!!
54. васисубатор 68 20.11.14 22:13 Сейчас в теме
Пользователи теперь запрещенная переменная (при подключении к копии базы) - изменил, в остальном классная штука
55. pavelyar 23.12.14 11:58 Сейчас в теме
А в УФ работает обработка?
56. nalivai-chai 693 23.12.14 13:20 Сейчас в теме
57. DAnry 9 08.02.15 17:16 Сейчас в теме
Спасибо автору! Очень полезная вещь. Пользуюсь. Вот только не всегда коректно работает удаление объектов с битыми ссылками.
Форма.Форма.Форма(864)}: Помилка при виклику методу контексту (Удалить)
НаборЗаписей.Удалить(ЗаписьДляУдаления);
через:
Неприпустиме значення параметру (параметр номер '1')

58. nalivai-chai 693 12.02.15 01:53 Сейчас в теме
(57) DAnry, спасибо за ошибку, постараюсь устранить.
60. GERMANTAGIL 13.10.15 06:50 Сейчас в теме
Обработка понравилась и действительно работает.
Ситуация была следующая
Суть проблемы - удалили участок на предприятии
идем в справочники-предприятие-подразделения
открывается хрень
слева - структура предприятия
справа - подразделения организаций
дак вот - то что слева я поднял встало вроде нормально
причем поднимал обработкой - GUID
https://w1c.ru/epf-1.html

А вот справа - GUID работает некорректно
орет что нужен "владелец"
ну дак вот давай я думать как обмануть адрес вроде есть а к чему привязать
Вопрос был вроде простой как по битой ссылке найти все записи -
хотя я и понимал что мне нужно восстановить только один обьект.
Поискал в Инете ну все не то - все не так работает.
подразделения организаций (когда созадется подразделение) - GUID работает некорректно
система 1С - орет что нужен "владелец"
Ваша обработка отработала корректно - восстановила все 168 документов
Но у меня вопрос автору -
1. хотелось бы обработку которая по <Объект не найден> (84:893f00215aecf30a11e0760ca6c900fd) искала бы все вхождения
чтобы можно было представлять какие документы справочники и т.д. были "задеты" (в архивах может другое количество записей)
2. Нетривиальная задача восстановления элемента номенклатуры вместе с единицами измерения (те хотелось бы вариант при воссстановлении элемента номенклатуры подвязывалась еденица измерения правильная - иначе придется бродить по множеству документов)
в ручную я вроде нашел вариант который работает а вот обработок подобного типа вообще не видел
Еще раз большое спасибо
61. insurgut 208 19.10.15 07:25 Сейчас в теме
(60) GERMANTAGIL, системе пофиг на владельца, если "ОбменДанными.Загрузка = Истина;" :)
62. mvmish 14 11.12.15 15:56 Сейчас в теме
Не работает обработка!
63. nalivai-chai 693 11.12.15 22:34 Сейчас в теме
64. madway 119 23.03.16 17:43 Сейчас в теме
Отличный инструмент. Нужно было восстановить битые ссылки в одной из РИБ. Соединился с другой базой , вытащил данные.
Одно пожелание, сделайте возможность выбора компонента для соединения Com82 или com83.
65. CheBurator 2712 17.05.16 22:16 Сейчас в теме
Непонятно, можно ли битую ссылку заменить другой, нормальной?
66. tormozit 7229 18.05.16 01:05 Сейчас в теме
(65) В ИР из аналогичного инструмента "Поиск битых ссылок" можно передать битую ссылку в подбор и обработку объектов, добавить правильную ссылку, передать обе ссылки в обработку "Объединить ссылки".
Прикрепленные файлы:
67. CheBurator 2712 18.05.16 20:58 Сейчас в теме
68. fixin 4273 22.06.16 01:48 Сейчас в теме
Заслуженный плюс. Серьезная такая обработка, вложено много труда.
Я удалил физически лишнюю номенклатуру, остались битые ссылки в документах "Установка цен".
Только я доработал, чтобы меняло не на пустую ссылку, а на один определенный элемент с указанным именем. Если его не находит, ссылку не обрабатывает, пропускает.
Выкладываю версию, автор, добавьте в свою, если посчитаете нужным.
Прикрепленные файлы:
ПоискБитыхСсылок.epf
69. ZhokhovM 755 03.10.16 17:09 Сейчас в теме
Вопрос, может ли эта обработка найти битые ссылка в отчетах? Например, в отборе характеристики в отчете аптеки стоит "<Объект не найден> (480:aee70015e9b8c48d11e01fecb9c33de3)".
70. CratosX 114 07.02.17 20:13 Сейчас в теме
К сожалению в моём случае не помогло - есть строки ТЧ документов, у которых отсутствуют объекты-владельцы
Прикрепленные файлы:
71. tormozit 7229 07.02.17 21:56 Сейчас в теме
(70) А инструментами разработчика видными на скриншоте тоже не помогло?
72. CratosX 114 08.02.17 12:18 Сейчас в теме
(71) не помогало (обход данных выбирал все три варианта - строки, объекты и ключи объектов), либо выдавало ошибку, либо ничего не удалялось.
И да, на самом деле не надо удалять эти строки, т.к. есть ещё и движения у этих битых документов.
Решение описал тут http://forum.infostart.ru/forum86/topic164787/message1740846/#message1740846 , три способа:

1. Берём ирПортативный, ищем все строки ТЧ, находим битые ссылки вида <Объект не найден> (196:8ca0d017c29aac7511e6e6bb9148a258), берём обработку GUID82_w1c.epf, создаём документ, записываем, лезем в его движения - оттуда пытаемся вычислить реквизиты документа (например дату, время, склад и т.п.), вносим их в документ - записываем.

2. В ТиИ обязательно выбираем режим "Создавать объекты". После исправления придётся редактировать эти добавленные элементы.

3. Если есть архив базы, возможно перенести переносом (ВыгрузкаЗагрузкаДанныхXML) - с применением обработки GUID82_w1c.epf можно в архиве найти нужные объекты по ссылкам.
73. tormozit 7229 08.02.17 12:39 Сейчас в теме
(72)
1. Не помогло сделать что? Ты не описал задачу.
2. Зачем брать обработку GUID82_w1c.epf ? Прямо из списка строк для обработки можно открыть редактор объекта БД для битой ссылки и записать (создать новый) объект с идентификатором битой ссылки.
74. CratosX 114 08.02.17 14:52 Сейчас в теме
(73)
1. удалить ссылки на несуществующий объект (в данном случае - строки ТЧ)
2. Не знал, спасибо. Пошёл читать полное описание ир...
75. tormozit 7229 09.02.17 00:09 Сейчас в теме
(74)
Прикрепленные файлы:
76. maxx 996 30.03.18 18:35 Сейчас в теме
Помогла эта штука. В Бухгалтерии после обмена из УНФ через какое-то время оказалось битые ссылки, трудно сказать сейчас причин (то ли сбой базы, то ли обмен так работает..) . Но нашёл эти ссылки, выгрузил отчет по битым ссылкам и на основе его написал свою обработку в УНФ для регистрациии в план обмена указанных битых ссылок (кое-где не совпадают название метаданных, но это не проблема).
77. maxf 09.04.19 15:51 Сейчас в теме
Вылезает ошибка. Вроде не должно быть нехватки памяти при обработке всего лишь корректировок долга.
Прикрепленные файлы:
78. nalivai-chai 693 09.04.19 20:00 Сейчас в теме
(77) Причины могут совершенно разные:
* Настройки СУБД
* Объем памяти ОС с СУБД
* Объем записей в таблице корректировок и связанных таблицах, которые участвуют в запросе
* Ограничен ли поиск битых ссылок по реквизитам
* Какие типы входят в состав типов реквизитов, в которых выполняется поиск битых ссылок
* Возможно запрос не оптимальный сформировался
79. sapervodichka 6912 16.07.19 13:48 Сейчас в теме
также удобная штука по восстановлению битых ссылок https://infostart.ru/public/888694/
80. pto930 25.11.21 00:09 Сейчас в теме
при проверке соединения выдаёт ошибку "соединение не создано!"
платформа 8.3.17.1851 х64 (компонента dll установлена)
пробовал в файловой и серверной копии базы ут10.3
подскажите, как можно решить проблему?
81. Anson 34 05.12.22 16:14 Сейчас в теме
Добрый день!
Скачал обработку а она не работает под УФ версия платформы 8.3.20.1674?
Оставьте свое сообщение