Удалить пустые ссылки из регистров

30.06.10

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

Поиск и удаление неопределенных ссылок (<Объект не найден>) в регистрах

Скачать файлы

Наименование Файл Версия Размер
УдалитьПустыеСсылкиИзРегистров
.epf 6,70Kb
606
.epf 6,70Kb 606 Скачать
УдалитьПустыеСсылкиИзРегистров версия 2
.epf 10,77Kb
326
.epf 10,77Kb 326 Скачать

Иногда случается так, что в движениях регистров, подчиненных регистратору, теряется ссылка на регистратор "<Объект не найден>".

Честно, говоря у меня таких ситуаций давно не было, но с тех времен осталась обработка, которая очищает движения регистров с битыми(пустыми) ссылками.

Подобная обработка уже есть: //infostart.ru/public/14510/

Но представленная мной обработка написана гораздо изящнее и перебирает все виды регистров (РегистрБухгалтерии, РегистрНакопления, РегистрРасчета, РегистрСведений), кроме того она проста в использовании.

Может она вам и не пригодится, но код стоит посмотреть.

Должна работать на любой конфигурации. Проверялась на УПП 1.2 и Бухгалтерии.

 

UPD: Прислушался к советам sergeypv. И сделал обработку более функциональной.

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

Добавлен индикатор (не точный) процесса. В строке состояния отображаются производимые операции.

После выполнения обработки выводится отчет в виде табличного документа с группировками.

Кроме того, обработка выполняется с транзакциями, а это значит, чтобы отменить действия обработки нужно нажать комбинацию клавиш Ctrl+Break до завершения выполнения обработки.

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

См. также

Удаление данных с отбором и построением дерева ссылок в базах 1С 8.1-8.3 УТ 10.3./11, БП 2/3, ЗУП 2.5/3, КА 1.1/2, УНФ 1.6/3.0

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

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

9600 руб.

22.02.2013    135905    248    144    

418

Универсальное выборочное удаление данных из базы 1С (любые конфигурации на упр.формах: БП 3.0, УТ 11, КА 2, ERP, УНФ, ЗУП 3, Розница и т.д.)

Чистка данных Платформа 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    24307    46    16    

58

SALE! 10%

Выборочное удаление организаций из баз (управляемые формы), с удалением всех ссылающихся на эти организации данных

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

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

3980 3582 руб.

16.03.2015    113691    181    75    

217

Замена Номенклатуры+Характеристики

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

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

3600 руб.

04.08.2015    41105    88    70    

49

Удаление битых ссылок 1С в базе без монопольного режима

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

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

2400 руб.

23.08.2021    9255    15    3    

20

Очистка дублей в синхронизированных базах (УТ, БП, РТ, УНФ)

Чистка данных Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

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

3960 руб.

27.06.2018    18804    10    3    

15

Очистка регистров сведений от записей по помеченным на удаление элементам

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

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

1200 руб.

21.01.2022    7122    5    6    

9

Очистка кэша 1С. Исполнитель

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

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

1 стартмани

25.10.2023    4529    4    SerVer1C    25    

22
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. overdriver 30.06.10 01:21 Сейчас в теме
Спасибо. Работает. Как раз появилась одна ничейная запись по взаиморасчетам. Успешно была удалена этой обработкой.
2. Alav 13 30.06.10 06:23 Сейчас в теме
А ТиИ уже не подходит?
3. 79044970523 929 30.06.10 06:50 Сейчас в теме
Работает быстрее, чем ТиИ. Да и ТиИ не всегда помогает.
36. bimy22 01.04.19 15:27 Сейчас в теме
(3) Соглашусь, насчёт скорости работы.

Спасибо за разработку, автор!
4. sergeypv 30.06.10 07:02 Сейчас в теме
Не плохо бы на форму "положить" строку с именем текущего регистра и индикатор по этому регистру. Так же хотелось бы иметь возможность выбрать один из регистров для проверки, а не все. У кого база за 200 ГБ, тот поймет. Ну и в конце не плохо бы отчет с количеством пустых ссылок в каждом регистре.
79044970523; +1 Ответить
5. 79044970523 929 30.06.10 09:14 Сейчас в теме
Хорошее предложение. Сделаю.
6. KukA.5 476 30.06.10 09:36 Сейчас в теме
Хорошая полезная вещь, аккуратно изготовленная.
Автору огромный плюс и за идею и за ее очень толковую реализацию.

Как полезный совет:
для любых ссылочных типов если в запросе напишем "Где ...СсылочныйТипПоля.Ссылка ЕСТЬ NULL...", то получим неявное соединение Ссылки "с самой собой", то есть с несуществующим в БД объектом, то есть получим NULL. А это и есть битые ссылки.

Не всегда же можно оперется на регистратор в регистре, правда ведь? :D
7. Ish_2 1104 30.06.10 10:02 Сейчас в теме
В обработке в процедуре ПочиститьРегистр() в тексте запроса есть строка
"ГДЕ НаименованиеРегистра.Регистратор.Дата ЕСТЬ NULL"
- что понятно и прозрачно. Значит в соответствующей таблице регистраторов объект с такой ссылкой отсутствует и обращение к любому из реквизитов такого регистратора даст NULL , значит эта ссылка битая.

А вот твой пост (6) загадочен и непонятен.
Причем тут фильтр на значение самой ссылки
"Где ...СсылочныйТипПоля.Ссылка ЕСТЬ NULL..." ?
10. KukA.5 476 30.06.10 15:35 Сейчас в теме
(7) если у нас есть регистр сведений, например, независимый (без регистратора), то "битые ссылки" в нем ...могут быть.

"битые ссылки" могут оказаться по любым измерения, ресурсам, реквизитам, которые ссылочного типа.

В этом случае их можно "отловить" конструкцией в запросе "Где ИмяПоляСсылочногоТипа.Ссылка Есть NULL"....
Кстати, Регистратор является ссылочным типом и можно (хотя это безусловно будет чуть :) более затратно в этом конкретном случае) сделать проверку не на Регистратор.Дата, а на Регистратор.Ссылка.


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

Надеюсь, теперь мой комментарий стал менее туманный (но более скучным).
8. bulpi 215 30.06.10 12:22 Сейчас в теме
Все хорошо, только нужно больше информации для пользователя : индикация как идет процесс и т.д.
9. RailMen 823 30.06.10 13:47 Сейчас в теме
Даешь обработку "Расшифровка, откуда взялись пустые ссылки" :D
11. 79044970523 929 30.06.10 23:36 Сейчас в теме
Прислушался к советам sergeypv. И сделал обработку более функциональной.
12. bagr 01.07.10 11:11 Сейчас в теме
Смотрел 2-ую версию. Для себя сделал:

1) Убрал Сообщить("Чтобы прервать выполнение обработки нажмите Ctrl-Break", СтатусСообщения.Информация); - реально раздражает, заменил его Надписью.
2) Добавил в начале, конце и перед Возврат - Сообщить("Начало "+ТекущаяДата()); Сообщить("Конец "+ТекущаяДата());
3) Добавил в цикле процедуры КнопкаВыполнитьНажатие(Кнопка) Состояние(ВидРегистра.Имя+": "+Регистр.Имя); (если регистр большой - обрабатывается долго, видно хоть какой) - а в процедуре "почистить" почему-то "состояние" не обрабатывает
13. bagr 01.07.10 11:54 Сейчас в теме
А ну конечно понятно почему в процедуре Почистить не отрабатавает Состояние, там же собственно запрос по битым ссылкам...
14. wiranata 286 05.07.10 08:14 Сейчас в теме
При работе обработки не обнаружил заявленных:
---------------------------------------------------------------------------------------------------------------------
Теперь все регистры показаны в виде дерева значений с флажками для проверки только нужных.

Добавлен индикатор (не точный) процесса. В строке состояния отображаются производимые операции.

После выполнения обработки выводится отчет в виде табличного документа с группировками.
---------------------------------------------------------------------------------------------------------------------

Возможно не там смотрел...
15. 79044970523 929 05.07.10 08:34 Сейчас в теме
Два файла для скачивания. Вот на вторую версию ссылка http://infostart.ru/public/download.php?file=72450
16. ms_andrey 06.07.10 17:47 Сейчас в теме
Выдается ошибка при опции Удалить
{Форма.Форма(134)}: Ошибка при вызове метода контекста (Записать): Ошибка записи! Не установлен отбор по регистратору (Регистр накопления: Взаиморасчеты с контрагентами)
НаборЗаписей.Записать();
по причине:
Ошибка записи! Не установлен отбор по регистратору (Регистр накопления: Взаиморасчеты с контрагентами)

В чем может быть проблема?
17. 79044970523 929 07.07.10 20:06 Сейчас в теме
А какая конфигурация? Лучше отладчиком посмотреть.
18. alex_4x 85 10.08.10 13:04 Сейчас в теме
Прикол в том, что при попытке чистить этой обработкой записи в PostgreSQL ной базе - 1С Вылетает в момент попытки записать в регистр с отбором по пустому документу.
19. PlatonStepan 38 29.10.10 12:13 Сейчас в теме
а у меня такая называется : ПоискИУдалениеБитыхСсылокВРегистрах.epf :D.
20. Вакулиса 11.07.11 13:17 Сейчас в теме
Не работает когда есть запись с пустой ссылкой. То есть Документ.ПустаяСсылка()
21. Coollerok 08.11.11 01:20 Сейчас в теме
А у меня все работает! Спасибо!
22. gurovvv 06.12.11 14:20 Сейчас в теме
полезная обработка! спасибо! на основании нее сделал для себя другую, которая чистит регистры от записей с пустыми документами.
23. von_de 5 06.12.11 23:34 Сейчас в теме
По умолчанию с инфостарта качается старая версия обработки - конечно не фонтан. Вторая версия понравилась, помогла справится с пустыми записями.Спасибо.
24. art-ame 18.12.11 22:59 Сейчас в теме
Кто испробовал, подскажите , помогает избавиться от такого глюка как "с качеством Новый на складе .... недостаточно" при наличии этого товара?
На любых конфигурациях работает?
25. art-ame 18.12.11 23:23 Сейчас в теме
Ну,вот, испробовала... Что сказать, не работает она в УТ 8.1!!!
Выводит окошко с надписями "Сообщить" , "Удалить", "Выполнить", "Закрыть". Окошки, как показано выше на скриншотах, отсутствуют.
26. gala2009 30 18.04.12 11:35 Сейчас в теме
спасибо за обработку, очень пригодилась
27. Tur_gad 16.07.12 07:20 Сейчас в теме
Замечательная вещь скачал давно но воспользовался только недавно, работает как часы и очень полезна). Особенно с моей перековерканной базой. Удалось отловить много битого движения когда сумма есть а документа как такового нет). Огромное спасибо за эту разработку респект вам и удачи в дальнейшей работе!!!!
28. Tur_gad 20.12.12 11:51 Сейчас в теме
Вопросик по чему после конвертации обработки под 8,2 у меня удаляет все движение в базах. короче коверкает жуть. подскажите в чем может быть проблема?
29. masiok 16.05.13 14:33 Сейчас в теме
Удаляет только битые ссылки? Или как в описании сказано пустые?
30. vis_tmp 32 15.11.13 22:12 Сейчас в теме
31. dka80 20 30.07.15 13:00 Сейчас в теме
Спасибо. Думал сам написать, а все уже изобретено до нас )) Отработала без проблем.
32. Den_D 54 27.09.16 15:38 Сейчас в теме
Вот что значит профессионал! Уже платформа 8.3.8, УПП 1.3, а обработка работает четко! Спасибо
33. ivdic 31 15.10.18 14:33 Сейчас в теме
почему то не работает открывает пустую форму
34. LosevI 25.12.18 02:44 Сейчас в теме
(33) скорее всего потому что форма неуправляемая, а открываете в управляемом интерфейсе...
Самому очень нужна сейчас эта обработка. Да простит меня Инфостарт - нужно последнее сообщение ло 1 стартмани, чтобы ее скачать.

Скачаю, даже если не запустится - будет полезно посмотреть код, как реализован поиск и удаление записей.
35. Laser 27.03.19 11:51 Сейчас в теме
УТ 10.3 Хотел почистить регистр соответствие информационных баз... При запуске показывает далеко не все регистры и нужного мне в списке нет
37. vyacheslavb 06.11.23 18:12 Сейчас в теме
Почему-то не все регистры сведений выдает в список
Оставьте свое сообщение