Удаление всех ссылок в БД на элемент справочника, документ

09.10.07

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

Замена элемента справочника или документа на другой во всей базе (др. справочниках, документах, журналах расчетов, периодических реквизитах, бухгалтерских проводках и пр.)
Перепроведение документов НЕ ТРЕБУЕТСЯ!!!

Скачать файл

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

Наименование Бесплатно
Удаление всех ссылок в БД на элемент справочника
.1191204608 72,50Kb
1071
1071 Скачать бесплатно
Компанента 1С++ от 19.09.2007
.1191205562 1,11Mb
793
793 Скачать бесплатно
Драйвер VFPOLEDB
.1191205652 2,50Mb
858
858 Скачать бесплатно
Для работы необходима 1срр.dll + драйвер VFPOLEDB.
Бывает возникает необходимость, например, удалить какой-нибудь элемент справочника. Чтобы сделать это корректно, необходимо предварительно очистить все ссылки на него.
Или просто возникает необходимость заменить во всех документах один элемент на другой.
Для этого и написана данная обработка.

Установка:
1. 1срр.dll скопируйте в каталог BIN (находится в Program Files\1Cv77).
2. vfpoledb.exe запустите на выполнение, ОБЯЗАТЕЛЬНО выберите тип установки Typical, а не Minimal, как стоит по умолчанию

P.S. На данный момент не реализован только поиск ссылок в регистрах.

См. также

Чистка данных Пользователь Оперативный учет 7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Установка пометки на удаление справочника Номенклатура. Торговля 77. 9.2.

1 стартмани

21.11.2022    2659    3    Sevg    0    

2

Чистка данных Программист Пользователь Платформа 1С v7.7 1С:Бухгалтерия 7.7 1С:Зарплата и кадры 7.7 1С:Торговля и склад 7.7 Россия Абонемент ($m)

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

1 стартмани

12.09.2022    3129    9    tetraren    0    

2

Свертка базы Чистка данных Перенос данных 1C Системный администратор Программист Платформа 1С v7.7 1С:Комплексная 7.7 1С:Торговля и склад 7.7 Абонемент ($m)

Приводится порядок действий для создания новой информационной базы на основе имеющейся файл-серверной "Торговля и Склад" ред.9.2, для учёта с нуля. В новую базу выполняется перенос справочников и остатков номенклатуры. Журналы документов, данные регистров, долги контрагентов, партии очищаются.

1 стартмани

14.01.2022    6450    6    etmarket    3    

4

Чистка данных Корректировка данных Программист Пользователь Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Архив различных обработок 1С 7.7 с открытым исходным кодом для работы с данными при свертке, выгрузке, исправлении, модификации информационной базы. Можно использовать любую обработку в качестве заготовки для добавления собственных функций.

1 стартмани

13.05.2021    8156    12    etmarket    0    

3

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

Эта обработка позволяет удалить созданные системой элементы справочников. Например, когда элементы создаются при тестировании и исправлении базы с наименованиями, включающими строку "ФС". Обработка тестировалась на базе конфигурации Бухгалтерский учет для Казахстана, редакции 7.70.257.

10 стартмани

26.03.2021    8701    2    softmaker    0    

0

Поиск данных Чистка данных Логистика, склад и ТМЦ Программист Оперативный учет 7.7 1С:Торговля и склад 7.7 Управленческий учет Абонемент ($m)

Простая и удобная обработка предназначена для поиска и исправления задублированных (повторяющихся) номенклатурных штрихкодов справочника Единицы. Также она даёт возможность посмотреть номенклатурные остатки. Полезна в случаях, когда номенклатура сопоставляется по штрихкоду с другими внешними источниками, а именно с модулем "Обмент ГИСМТ".

1 стартмани

19.11.2020    7924    1    Kuzya_brаtsk    4    

8

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

Когда удаляются документы и элементы справочников в 1С 7.7 через удаление помеченных на удаление объектов, запись из dbf файла не удаляется, она помечается как удаленная, но физически остается в файле. Если эти помеченные на удаление записи удалить физически, то размер файлов значительно уменьшится.

1 стартмани

18.10.2018    16158    48    evg520750    5    

1
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. DionX 99 01.10.07 08:52 Сейчас в теме
Немножко подправил обработку:
1. теперь можно заменять ссылки не только на элемент справочника, но и на документ.
2. Теперь можно задать те объекты метаданных, в которых нужно искать и заметь ссылки.
2. DionX 99 01.10.07 09:44 Сейчас в теме
Прошу обратить внимание на то, что нужно понимать: если вы заменяете какой-то элемент в документах, но сбросили "галочку" для изменения в Журнале расчетов, то получится так, что данные м/у документами и ЖР совпадать не будут.
3. DionX 99 01.10.07 12:07 Сейчас в теме
Написал, что поиск нереализован только в Регистрах, потом спохватился и оказалось, что и в бух.итогах не ищет.
Теперь исправил.
Для кого актуально (а актуально всем, кто будет пользоваться данной обработкой в конфигурациях с компонентой "Бух.учет"), просьба перекочать себе УдалениеЭлемента.ert
4. DionX 99 03.10.07 03:54 Сейчас в теме
Странно как-то: народ смотрит, качает, а не точто рейтинг повысить, а даже коментарий оставить "понравилось/не понравилось", "нужно/не нужно" не могут почему то (((
5. JannyFan31 03.10.07 06:17 Сейчас в теме
Спасибо! У нас в справочниках наудаляли много элементов, которые сейчас не нужны. Сейчас они не нужны.
6. aou1c 13 04.10.07 11:17 Сейчас в теме
Спасибо, все неплохо, кроме подчиненных справочников, их тоже надо-бы обрабатывать, хотя-бы родителя менять
7. DionX 99 05.10.07 03:53 Сейчас в теме
Ок, молодец, что нашёл этот баг. Сегодня же доделаю и вылажу.
8. Evgen_5 08.10.07 10:25 Сейчас в теме
Чтобы не выводились уволенные надо в запросе добавить условие занимаемыхСтавок>0 или должность <> Null
9. DionX 99 09.10.07 08:10 Сейчас в теме
09.10.2007 обновил УдалениеЭлемента.ert.
Исправлен баг с подчинёнными справочниками и константами.
На вкладке Настройка теперь появились две доплнительные "галки". Стоит, например, "галка" переносить периодические реквизиты, тогда все реквизиты удаляемого элемента перенесутся на тот, которым замещается; если галка не стоит, то все переодические значения удаляемого элемента тоже будут удалены.
Будьте добры: пробуйте работу этой обработки сначала на копии.
10. saser 12.10.07 10:04 Сейчас в теме
у меня вопрос по поводу замены одного объекта (справочник, документ) на другой

- не проще ли заменить просто Id (для справочника) или IdDoc (для документа) , чем искать везде где он встечается и менять ссылку на другую

поясню ,
- был справочник "Контрагент1" нужно его поменять во всех документах, регистрах на "Контрагент2" (база огромная десятки, сотни тысяч документов за год)

- для "Контрагент1" Id = Z1 , для "Контрагент2" Id=Z5
проще в одном справочнике "Контрагенты" поменять Z1<->Z2 и во всех документах и регистрах в которых встречается "Контрагент1" будет "Контрагент2"

16. DionX 99 24.10.07 04:24 Сейчас в теме
"Подчиненные справочники переносятся, но ссылки в других объектах не меняются."
Не совсем понял о чём речь.
А на счет (10) всё таки решил не переделовать свою обработку. Т.к. во первых, при придложенном варианте невозможно будет заменить объект в отдельных видах объектов, во-вторых, всё таки как то я засомневался (честно скажу - на практике не пробовал), но...Например, нужно заменить один док. на другой: что и где нужно заменить по способу (10)?
18. Вадимко 156 04.02.08 20:42 Сейчас в теме
(10) Что-то не очень улавливается мысль...
Есть элемент 1 с id 1 и элемент 2 с id 2
Есть документы со ссылками на эти элементы
Док 1 ссылка 1
Док 2 ссылка 1
Док 3 ссылка 2
Требуется заменить ссылки первого элемента на второй
Что предлагаешь? Поставить первому элементу id 2 и получить неуникальный id?
Это же не восстановление удаленных элементов как в твоем случае
11. DionX 99 12.10.07 10:44 Сейчас в теме
к понедельнику переделаю...
тут нужно тока повнимательней посмотреть на период реквизиты, подчинённые спр и тп
12. jem 83 12.10.07 13:41 Сейчас в теме
Я может не правильно понял, но если поменять у корня ID "контрагент1" то нормальные (ссылки полей на бъект) объекты потеряются.
Если создавать нового "контрагента2", а потом привязать к нему все документы вместо старого "контрагент1" получаеться все в порядке.
Если на "контрагента2" уже повешены ссылки то переименовка ID на ID "контрагента1" повлечет пустые ссылки "контрагента2"
13. saser 12.10.07 14:02 Сейчас в теме
(12)

>> Я может не правильно понял, но если поменять у корня ID "контрагент1" то нормальные (ссылки полей на бъект) объекты потеряются.

ничего не понял , что где должно потеряться если поменять местами id для
(Контрагент1 <-> Контрагент2)

реально делал на большой базе
- случайно удалили несколько контрагентов
- из-за того что база очень большая невозможно было подставлять нового контрагента в документы и перепроводить по времени
- исправлением Id проблема решилась в течении нескольких минут
(т.е. все ссылочки в документах , регистрах вернулись на место)
14. saser 12.10.07 14:07 Сейчас в теме
+ 13
ссылочная целостность в таблицах v7.7 поддерживается именно через эти поля (id - для справочников , IdDoc - для документов)
15. maloi_a 17.10.07 08:03 Сейчас в теме
Подчиненные справочники переносятся, но ссылки в других объектах не меняются.
Менял контрагентов в два этапа - подчиненный справочник основания
после замены контрагента. Тогда все корректно.
Infossa, как поменял основания в объектах.
"Ищем ссылки ссылки" укоротил.
17. Вадимко 156 04.02.08 20:29 Сейчас в теме
Елы-палы, наткнулся на эту обработку когда свою уже написал практически...
Ну что сказать...
Автор забыл о существовании общих реквизитов документов, регистрах, о том, что справочники бывают многоуровневые и т.п. :)
И зачем пометки на второй закладке если это в запросах не соблюдается?
Плюсану однако
19. bambula 4 23.04.08 16:37 Сейчас в теме
Уважаемый разработчик. А как быть с регистрами?
20. o-mel 15.05.08 18:12 Сейчас в теме
А с SQL базой работает?
На dbf gопробовал удалить не нужные классификаторы единиц,
написал что "Заменены все возможные ссылки", а ничего при этом не сделал ???
Повторный запус ... пишет тоже самое
21. cariola 6 10.06.08 09:21 Сейчас в теме
РеквТип=Рекв.Тип;
{..\УДАЛЕНИЕЭЛЕМЕНТА.ERT(377)}: Поле агрегатного объекта не обнаружено (Тип)
Это при попытке в ЗиК е 7.7 слить двух сотрудников. Ругается на графы отбора журнала расчетов
22. cariola 6 11.06.08 06:24 Сейчас в теме
Ндя... и с SQL-базами видимо не работает
тз=РС.ВыполнитьИнструкцию(текст);
{..\УДАЛЕНИЕЭЛЕМЕНТА.ERT(77)}: FAILED! ICommandText::Execute(): File '1sjourn.dbf' does not exist.
ищет именно dbf-ки похоже
А пишет что заменил, но не заменяет это когда стоит галочка "Эмуляция". Если её убрать то работает
23. Abadonna 3968 11.06.08 08:40 Сейчас в теме
В dbf-ке да еще без поиска ссылок в регистрах без всяких заморочек с 1срр.dll можно было сделать, и без перепроведения (достаточно заменить в операциях документов)
24. DionX 99 26.11.08 07:48 Сейчас в теме
Извините, долгое время отсутствовал, обработка, думаю, морально устарела, есть более новые, поэтому отвечать на вопросы не буду. Можно? ;-)
25. Altez 258 09.04.09 01:37 Сейчас в теме
Спасибо за чудную обработку, с которой начал освоение 1с++
>>есть более новые,
и более совершенные? например?
26. amblik 15.09.09 14:07 Сейчас в теме
Только скачал, пока не изучал, но вещь, по-моему, нужная для меня, по крайней мере. Мне нужно построить дерево подчиненных элементов
27. brunet 40 27.03.14 19:32 Сейчас в теме
Можно было использовать стандартную обработку 1С "Замена значений"
Оставьте свое сообщение