Реанимация битых ссылок

09.01.14

База данных - Чистка данных

Реанимация битых ссылок

Скачать файл

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

Наименование По подписке [?] Купить один файл
РеанимацияБитыхСсылок
.1172486973 7,11Kb
2323
2323 Скачать (1 SM) Купить за 1 850 руб.
РеанимацияБитыхСсылок 1.1 (8.1)
.1230089436 18,38Kb
752
752 Скачать (1 SM) Купить за 1 850 руб.
РеанимацияБитыхСсылокСУчетомВладельца
.1189153459 10,09Kb
1030
1030 Скачать (1 SM) Купить за 1 850 руб.

Когда объект был удален непосредственно, то все ссылки на него в справочниках, в документах, в регистрах стали битыми и отображаются следующим образом:

(16:bca8000c6efdd52111d8eaba7c9706eb)

Данная обработка позволяет создать новый объект с ссылкой такой же как у удаленного.

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

битые ссылки

См. также

SALE! 15%

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

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

8400 7140 руб.

20.08.2024    7763    55    22    

66

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

Позволяет удалить организации из любых из информационных баз 1С на управляемых формах (БП 3.0, УТ 11, КА 2, ERP 2, ЗУП 3.0, УНФ, Розница 2.0 и пр.). Главное требование - программа должна содержать справочник "Организации". Реализован самый быстрый алгоритм непосредственного удаления объектов. Работает даже на базах большого размера. Для ускорения работы алгоритма не запускается проверка контроля ссылочной целостности. Проверку учета можно запустить отдельно с помощью дополнительной обработки. Необходимо перед удалением самостоятельно проверить базу на наличие перекрестных ссылок разных организаций в одном документе. Эту дополнительную обработку проверки перекрестных ссылок по запросу предоставляем бесплатно нашим покупателям.

3582 руб.

16.03.2015    171418    209    81    

244

Чистка данных Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 10 1С:Управление торговлей 11 Платные (руб)

Данные обработки помогут Вам легко и, главное быстро, выполнить удаление любых данных в Ваших базах 1С на платформах 8.1-8.3. Обработки помогут легко просмотреть связи ссылок в виде дерева, выбрать что удалять, а что нет, используя любые отборы. Это позволит уменьшить объем лишней и не нужной информации в справочниках и документах, планах видов характеристик и др. объектах и облегчит работу с данными пользователям и Вам. Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. (Обновление от 29.06.2023, версия 4.2)

9600 руб.

22.02.2013    138398    258    144    

429

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

Обработка позволяет удобно и выборочно удалить данные из базы 1С. Это могут быть как неиспользуемые элементы справочников, так и неактуальные организации. При этом есть возможность провести анализ пересечений документов с другими организациями и таким образом уберечься от того, что при удалении обороты по другой организации изменятся.

3350 руб.

28.11.2019    25856    58    16    

73

Оптовая торговля Логистика, склад и ТМЦ Чистка данных Программист Бухгалтер Пользователь Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Если вы начали работать в программном продукте Управление Торговлей, редакция 11 или Комплексная Автоматизация редакция 2 и включили механизм учёта серий, то перейти обратно в учёт без серий будет не так-то просто. Сложность заключается в том, что нужно очистить серии в табличной части документа, например, Реализация Товаров и услуг. Предлагаем алгоритм перехода на учет без серий для программного продукта УТ11. (Очистка серий.)

2400 руб.

09.04.2019    29050    43    14    

45

Чистка данных Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Если в вашей информационной базе крутится очень много данных, или база должна быть доступна 24/7 (как в моем случае), или же вы боитесь запускать тестирование и исправление, НО существует потребность удалить битые ссылки, тогда эта обработка сможет Вам помочь. Обработка выявляет битые ссылки как в самих объектах метаданных, так и в их табличных частях(!), а так же может их удалить.

2400 руб.

23.08.2021    9930    19    3    

25

Чистка данных Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

21.01.2022    7693    1    dmbal    6    

12

Чистка данных Инструментарий разработчика Системный администратор Программист Платформа 1С v8.3 Абонемент ($m)

Очередная вариативная очистка кэша 1С с помощью Исполнителя 3.0.2.2.

1 стартмани

25.10.2023    5337    5    SerVer1C    26    

22
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Re:аниматор 338 27.02.07 05:53 Сейчас в теме
Реально данная обработка помогла, спасибо!
2. tormozit 7229 09.03.07 22:23 Сейчас в теме
А тестирование и исправление разве не делает тоже самое?
3. 30.03.07 09:13 Сейчас в теме
Спасибо. Сам такую писал но где-то с UID был трабл. А ту все фунциклирен.
4. PowerBoy 3416 07.09.07 12:29 Сейчас в теме
Добавил версию обработки "РеанимацияБитыхСсылокСУчетомВладельца",
позволяет создаваемому объекту назначить владельца.
Автор:kirill buckov
5. andrey995 29.02.08 01:05 Сейчас в теме
а для семерки такое есть ?
6. ivanoa 46 16.04.08 09:38 Сейчас в теме
У меня не получилось(. В регистре бухгалтерии(УПП) есть в регистраторе ьитая ссылка. Документ платежное поручение создается с данным UUID, но при записи ссылка остается битой, в записи регистра регистратор не становится ссылкой на вновь созданный документ... Пробую пересоздать, говорит, что есть Подскажите, в чем дело.
7. PowerBoy 3416 16.04.08 13:56 Сейчас в теме
(6) Обработку запускаете с полными правами?
8. Finn 05.05.08 15:19 Сейчас в теме
1С:Предприятие 8.1. Удалил несколько контрагентов. Теперь пытаюсь восстановить. Последовательность - сначала запись справочника о контрагенте, потом ДоговорВзаиморасчетов и ЮрЛицо с привязкой к Контрагенту. ДоговорВзаиморасчетов и ЮрЛицо действительно создаются с нужными ссылками и привязками. А вот ссылка на контрагента, скажем, в расходной накладной, остается битой. :( Не пойму в чем дело. Пользоваться пытался обеими версиями, но версия с подчинением не дает создавать запись справочника без указания подчиненния. :(
9. Abadonna 3968 05.05.08 15:44 Сейчас в теме
>В результате все битые ссылки будут теперь ссылаться на новый объект.(т.е. будут теперь не битыми).
За одну битую ссылку две небитых дают! :))))))))))))))
10. Finn 06.05.08 10:36 Сейчас в теме
Разобрался. Восстановил. Спасибо!
11. frolov.dns 9 26.09.08 12:11 Сейчас в теме
Может кто подскажет, в чем полезность данной обработки?
12. avea 23.12.08 17:48 Сейчас в теме
Под 8.1 можно переделать?
13. PowerBoy 3416 24.12.08 06:33 Сейчас в теме
(12) Добавил версию под 8.1
snami_ru; +1 Ответить
14. snami_ru 208 27.01.09 15:26 Сейчас в теме
Пишет длина GUID ссылки должна быть равна 32 знакам
15. snami_ru 208 27.01.09 15:52 Сейчас в теме
(14) разобрался. надо вставлять номер после двоеточия. :)
16. ost.a 02.02.09 11:48 Сейчас в теме
В 8.1 пытался восстановить удаленную характеристику(в документах осталась сыылка на объект не найден) - СОЗДАЕТ НОВУЮ(с новым GUID), а ссылки так и остаются на объект не найден...??? в чем трабл?
17. FausTT1 05.08.09 12:05 Сейчас в теме
Ситуация такая же как и у ost.a
Может кто объяснить в чем причина?
18. марокко 73 18.09.09 03:49 Сейчас в теме
Спасибо огромное , уже пол ночи базу делаю) и тут такая вещь)
19. Катя84 3 27.11.09 13:09 Сейчас в теме
Спасибо, пригодилось!
20. iones 197 03.12.09 16:52 Сейчас в теме
Посмотрел в коде, система понятна... НО!
При записи создается новый GUID (тестировалась на 8.1 УПП).
Ссылка так и остается битой, просто создается новый элемент.
midav_m; Anesk; Istur; +3 Ответить
21. iones3 04.12.09 15:36 Сейчас в теме
Короче.
У меня возникла такая проблема:
Случайно создали дубляж физлица, и на оба элемента заводились документы, на один из низ платежи, другой участвовал в проводках других документов. И один умный бух рубанул непосредственно одно физ лицо, не спросив программиста, т.е. меня. получилось что получилась битая ссылка.
Посмотрев тему реанимации битых ссылок ничего не получилось, создавался новый элемент с новым UIN-ом, короче косяк.
Почитав и поисках, перерыв учебники, интернет и кучу форумов, вот что нашел:
http://www.poleznayainfo1c.narod.ru/
Это реально работает!
В SQL подменил UIN. и Все сработало. Главное найти нужную таблицу.
Для Определения таблицы в SQL пример:

МассивИменМетаданных = Новый Массив();
МассивИменМетаданных.Добавить("Справочник.ФизическиеЛица");
СтруктБД=ПолучитьСтруктуруХраненияБазыДанных(МассивИменМетаданных);

Узнаем таблицу, а в SQL создаем Query такого плана:

UPDATE [название_базы].[dbo].[_название_таблицы]
SET [_IDRRef] = удаленный_идентификатор
WHERE [_IDRRef] = на_какой_идентификатор_подменяем

Не благодарите =)

Дерзайте.
22. pegas80 09.02.10 10:10 Сейчас в теме
При записи создается новый GUID (тестировалась на 8.1 УПП).
Ссылка так и остается битой, просто создается новый элемент с новым GUID гуидом. powerboy ответь
loader13; +1 Ответить
23. PowerBoy 3416 09.02.10 13:34 Сейчас в теме
(22) вероятно указываете неверный тип ссылки.
24. pri_hod 77 28.07.10 16:46 Сейчас в теме
не работает для 8.2 sql 2008
25. zhumanova 16.09.11 08:55 Сейчас в теме
спасибо. у меня все срабатывает. и понятная в использовании
26. arjunasoft 7 20.09.11 23:15 Сейчас в теме
Спасибо, помогла реанимировать номенклатуру.
27. Scorpion1_77 24 27.09.11 12:40 Сейчас в теме
Спасибо. Отличная обработка. Несколько раз выручала.
28. opolyakova 16 18.10.11 19:58 Сейчас в теме
29. Nika-cat 08.12.11 07:36 Сейчас в теме
Спасибо. Пригодилась Даже очень!!!!!!!!!!!
30. nasya 16.12.11 14:28 Сейчас в теме
Спасибо! Обработка очень пригодилась - и для восстановления удаленного и для того, чтобы разобраться как работать с UID-)
31. jONES1979 21.12.11 11:46 Сейчас в теме
Спасибо конечно, но как из формата "46:b7b0001cc460bde211df026a8dd7cb3a" получить GUID в том виде, в каком требует обработка?

EDIT: Спасибо, разобрался. Автору плюсик.
32. petrovaUL 18.01.12 08:37 Сейчас в теме
1С:Предприятие 8.1. Удалил несколько контрагентов. Теперь пытаюсь восстановить. Спасибо! Обработка очень пригодилась - и для восстановления удаленного
33. nasya 19.01.12 12:09 Сейчас в теме
34. emptyteam 24.01.12 08:12 Сейчас в теме
А тестирование и исправление разве не делает тоже самое?

Действительно, в чем отличие от тестирования и исправления ?
35. PowerBoy 3416 24.01.12 11:23 Сейчас в теме
"Действительно, в чем отличие от тестирования и исправления ?"

Чтоб сделать тестирование и исправление мне нужно выгнать из базы около 100 работающих пользователей, запретить обмены РИБ и подождать часиков 5-6 и еще неизвестно что она там попутно направит.
46. AlexO 135 18.07.14 09:47 Сейчас в теме
(35)
Чтоб сделать тестирование и исправление мне нужно выгнать из базы около 100 работающих пользователей
Т.е. вас не волнует, что монопольный режим введен не зря, а при одновременной работе пользователей и обработки восстановления у вас в базе вообще каша может получится с данными?
36. Istur 1474 03.02.12 14:09 Сейчас в теме
(0) Поставил минус. Во-первых - это не GUID, а UUID. Отсутствует какое-либо описание и когда я вбивал GUID в поле, то поле мне ошибку выдавало про 32 символа, я только в комментариях увидел, что автор подразумевает UUID. ну и просто v8.x: Битая ссылка, <Объект не найден>, Уникальный Идентификатор, GUID лучше и понятнее, юзабельнее, и описание есть. Данную обработку скачивал, потому что здесь можно создавать элементы с владельцем, потом плюнул, и в обработку по ссылке сам добавил присвоение владельца, что заняло минут 3-5.
b-dm; EugenLiquor; mr.Kot; odin777; CaSH_2004; vlasin; +6 Ответить
41. a1ex4ndr 5 03.09.12 17:01 Сейчас в теме
что то гляжу под 7.7 никто такой обработки не знает... может тогда кто то подскажет, разницу ЗначениеВСтрокуВнутр(Объект) для текущей базы и для объекта полученного через ОЛЕ? насколько я понял в текущей базе первый символ - идентификатор типа - (T=счет/O=документ/B=справочник/E=перечисление/U=неопределенн­ный) и последний реквизит 23 знака - 10 знаков идентификатор вида(спр номенклатура например) 10 знаков - идентификатор объекта, и последние 3 - идентификатор базы (юзается для УРИБ)
а в ссылке (36):
Объект = БазаОле.ЗначениеВстрокуВнутр(Док_Источник.ТекущийДокумент());
// Для примера Объект возвращает {"O","0","0","3114","0","0"," 258156CB "}
что значит этот 258156CB? каким то образом объединеные идентификаторы?
43. mr.Kot 18.02.14 15:20 Сейчас в теме
Посмотрел, почитал коменты и воспользовался обработкой из комента (36).
47. AlexO 135 18.07.14 09:56 Сейчас в теме
(36) Istur,
то поле мне ошибку выдавало про 32 символа, я только в комментариях увидел, что автор подразумевает UUID

У автора каша какая-то, на самом деле формат ID выглядит так:
UUID - 84:bf5600145e3710ab11dda4c605dbe824
GUID - 05dbe824-a4c6-11dd-bf56-00145e3710ab
37. пользователь 09.02.12 17:26
Сообщение было скрыто модератором.
...
38. нинас 03.04.12 09:44 Сейчас в теме
Работает в монопольном режиме или нет?
39. PowerBoy 3416 03.04.12 11:01 Сейчас в теме
40. a1ex4ndr 5 16.07.12 10:04 Сейчас в теме
Кто нибудь знает под 7.7 есть такая обработка? Что то поиском не нашел...
42. romankoav 4 11.09.13 17:12 Сейчас в теме
На форме есть флаг использования владельца, но в модуле никак не используется. Пришлось допиливать.
44. EugenLiquor 18.02.14 15:51 Сейчас в теме
Тоже наткнулся на проблему с UUID, как итог - воспользовался похожей обработкой.
45. ankr 19 03.06.14 09:38 Сейчас в теме
Всем привет!
Не могу скачать обработку под 8.2 по ссылке: v8.x: Битая ссылка, Уникальный Идентификатор, GUID
- сайт не работает полноценно ((
Если есть у кого скиньте плз на почту: andyfx01@gmail.com
48. Muhin555 26 21.12.18 02:24 Сейчас в теме
Спасибо за обработку! Реально помогла на SQL базе. Актуальность свою на базах 8.2 еще не потеряла.
Только чтоб не думать "Есть ли у справочника Владелец или нет?" добавил такой код:
Процедура ТипБитойСсылкиПриИзменении(Элемент)
	
	СпрМ = ПолучитьПараметры(ТипБитойСсылки);
	Если СпрМ = Неопределено Тогда
		Возврат;
	КонецЕсли;    

	Если СпрМ.МетаКоличество > 0 Тогда  
		ЭлементыФормы.ПолеВвода.Доступность=Истина;
		
		МассивТипов = СпрМ.МассивТипов;
		ЭлементыФормы.ПолеВвода.Значение = Неопределено;
		ЭлементыФормы.ПолеВвода.ОграничениеТипа = Новый ОписаниеТипов(МассивТипов);   
	Иначе
		ЭлементыФормы.ПолеВвода.Значение = Неопределено;
		ЭлементыФормы.ПолеВвода.Доступность=Ложь;
	КонецЕсли;
КонецПроцедуры

Функция ПолучитьПараметры(ТипБитойСсылки)
	Параметры = Новый Структура;
	МетаОбъект = Метаданные.НайтиПоТипу(ТипБитойСсылки.Типы()[0]);
	ПолноеИмяОбъекта = МетаОбъект.ПолноеИмя();
	ТипОбъекта = Лев(ПолноеИмяОбъекта,Найти(ПолноеИмяОбъекта,".")-1);
	ИмяОбъекта = МетаОбъект.Имя;
	ОписаниеТипаОбъекта = ТипОбъекта + "Ссылка." + ИмяОбъекта;
	
	Если ТипОбъекта = "Справочник"  Тогда
		Основание = "Владельцы";
	ИначеЕсли ТипОбъекта = "Документ" Тогда
		Основание = "ВводитсяНаОсновании";
	ИначеЕсли ТипОбъекта = "ПланВидовХарактеристик" Тогда  
		Основание = "ВводитсяНаОсновании";
	ИначеЕсли ТипОбъекта = "ПланСчетов" Тогда
		Основание = "ВводитсяНаОсновании";
	ИначеЕсли ТипОбъекта = "ПланВидовРасчета" Тогда
		Основание = "ВводитсяНаОсновании";
	ИначеЕсли ТипОбъекта = "ПланОбмена" Тогда
		Основание = "ВводитсяНаОсновании";
	ИначеЕсли ТипОбъекта = "БизнесПроцесс" Тогда
		Основание = "ВводитсяНаОсновании";
	ИначеЕсли ТипОбъекта = "Задача" Тогда
		Основание = "ВводитсяНаОсновании";
	Иначе
		Предупреждение("Неизвестный тип объекта");
		Возврат Неопределено;
	КонецЕсли;    
	
	МетаКоличество = МетаОбъект[Основание].Количество();

	Параметры.Вставить("МетаКоличество", МетаКоличество);
	
	МассивТипов = Новый Массив;
	Для каждого ЭлементМассива Из МетаОбъект[Основание] Цикл
		ОписаниеТипаЭлемента = ЭлементМассива.ПолноеИмя();
		ТипЭлемента = Лев(ОписаниеТипаЭлемента,Найти(ОписаниеТипаЭлемента,".")-1);
		ИмяЭлемента = ЭлементМассива.Имя;
		ОписаниеТипаЭлемента = Тип(ТипЭлемента + "Ссылка." + ИмяЭлемента);
		МассивТипов.Добавить(ОписаниеТипаЭлемента);   
	КонецЦикла; 
	
	Параметры.Вставить("МассивТипов", МассивТипов);

	Возврат Параметры;
КонецФункции // ПолучитьПараметры()


Процедура ПолеВводаОчистка(Элемент, СтандартнаяОбработка)
	ЭлементыФормы.ПолеВвода.Значение = Неопределено;
КонецПроцедуры
Показать


Ну и при создании ссылки добавить проверку:
	Если ЭлементыФормы.ПолеВвода.Доступность Тогда
			Вл = ЭлементыФормы.ПолеВвода.Значение.Ссылка;
		КонецЕсли;
Оставьте свое сообщение