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

30.06.10

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

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

Файлы

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

Наименование Скачано Купить файл
УдалитьПустыеСсылкиИзРегистров
.epf 6,70Kb
607 1 850 руб. Купить
УдалитьПустыеСсылкиИзРегистров версия 2
.epf 10,77Kb
331 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

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

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

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

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

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

 

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

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

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

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

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

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

Вступайте в нашу телеграмм-группу Инфостарт

См. также

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

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

14400 руб.

20.08.2024    44408    246    123    

227

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

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

12000 руб.

22.02.2013    142796    281    147    

450

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

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

6000 руб.

16.03.2015    258699    235    83    

270

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

Данные обработки помогут Вам быстро и просто выполнить перезапись любых ссылочных объектов, а также провести/снять с проведения документы с возможностью выбора регистров и произвольными отборами, в Ваших базах 1С на платформах 8.1-8.3. Обработка позволят найти документы с движениями или без них. Все это дает Вам мощный инструмент для работы. Понятное расположение команд и настроек, в сочетании с описанием и справкой, еще упростят процесс. А также обновления Вы получаете бесплатно в течение года с момента приобретения данных обработок! Данные обработки входят в ТОП-100 продаж, что является залогом популярности, надежности в работе, и признанием других покупателей.

9600 руб.

17.09.2013    806581    58    51    

94

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

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

5000 руб.

28.11.2019    28623    77    20    

92

Чистка данных Программист 1С v8.3 1C:Бухгалтерия Платные (руб)

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

5136 руб.

23.08.2021    11189    23    3    

29

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

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

2400 руб.

09.04.2019    30439    47    15    

50

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

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

1 стартмани

25.12.2023    11296    249    WeterSoft    7    

16
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. overdriver 30.06.10 01:21 Сейчас в теме
Спасибо. Работает. Как раз появилась одна ничейная запись по взаиморасчетам. Успешно была удалена этой обработкой.
2. Alav 13 30.06.10 06:23 Сейчас в теме
А ТиИ уже не подходит?
3. 79044970523 937 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 937 30.06.10 09:14 Сейчас в теме
Хорошее предложение. Сделаю.
6. KukA.5 476 30.06.10 09:36 Сейчас в теме
Хорошая полезная вещь, аккуратно изготовленная.
Автору огромный плюс и за идею и за ее очень толковую реализацию.

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

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

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

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

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


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

Надеюсь, теперь мой комментарий стал менее туманный (но более скучным).
8. bulpi 217 30.06.10 12:22 Сейчас в теме
Все хорошо, только нужно больше информации для пользователя : индикация как идет процесс и т.д.
9. RailMen 831 30.06.10 13:47 Сейчас в теме
Даешь обработку "Расшифровка, откуда взялись пустые ссылки" :D
11. 79044970523 937 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 288 05.07.10 08:14 Сейчас в теме
При работе обработки не обнаружил заявленных:
---------------------------------------------------------------------------------------------------------------------
Теперь все регистры показаны в виде дерева значений с флажками для проверки только нужных.

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

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

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

В чем может быть проблема?
17. 79044970523 937 07.07.10 20:06 Сейчас в теме
А какая конфигурация? Лучше отладчиком посмотреть.
18. alex_4x 88 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 31 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 33 15.11.13 22:12 Сейчас в теме
31. dka80 21 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 Сейчас в теме
Почему-то не все регистры сведений выдает в список
Для отправки сообщения требуется регистрация/авторизация