Чистка справочников

1. fggf 17.07.12 08:53 Сейчас в теме
Всем привет!
Проблема состоит в следующем.
К примеру есть Справочник Контрагенты.
В этом справочнике есть группа "удаленные", там хранятся помеченные на удаления элементы. Их достаточно много. После того как запускаешь процедуру "Удаление помеченных объектов", элементы находящиеся в группе "Удаленные" остаются не тронутыми. Т.е. процедура не удаляется объекты непосредственно. Скорее всего есть связь с какими-то используемыми объектами. Рассматривать каждый помеченный на удаление элемент индивидуально не вариант, так как их оч. много. Что можете посоветовать в данной ситуации?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
14. frc 17.07.12 11:04 Сейчас в теме
(1) fggf,
Рассматривать каждый помеченный на удаление элемент индивидуально не вариант

именно каждый вариант и именно индивидуально. Максимум - подменить контрагента на "живого".
Это 1С со своими ссылками.
15. DenisCh 17.07.12 11:15 Сейчас в теме
(14) frc,
Это 1С со своими ссылками


Какой ужас... Перекрёстные ссылки придумали явные враги 1сников! Запретить их все! Всё хранить в текстовом виде в одной таблице!
19. frc 17.07.12 12:21 Сейчас в теме
(15) DenisCh,
Всё хранить в текстовом виде в одной таблице!

да ничего, все СУБД хранят, и не брезгуют.
Не надо истерик :)
Перекрёстные ссылки придумали явные враги 1сников!

"Царь хороший - бояре плохие!" Ввернули такие ссылки для угнетения программистов, что дым коромыслом.
(18) fggf,
Понравился вариант, надо подумать.

т.е. вы совершенно не представляете, что вы получите после замены ВСЕХ удаленных контриков на ОДНОГО "избранного", и какие остатки и движения будут у вас в базе? Тогда вы со своим "заказчиком" друг друга стоите :)
21. olegka.ru 6 17.07.12 12:41 Сейчас в теме
(19) frc,
т.е. вы совершенно не представляете, что вы получите после замены ВСЕХ удаленных контриков на ОДНОГО "избранного"
Иногда это вполне разумный выход.
Бывают ситуации, когда данные в БД 1С попали из СУБДктоегознаеткак и среди справочниках есть такие элемементы о которых ни один ныне работающий на предприятии понятия не имеет... о_О
22. frc 17.07.12 12:48 Сейчас в теме
(21) olegka.ru,
Бывают ситуации, когда данные в БД 1С попали из СУБДктоегознаеткак

эьл единстивенный случай - когда инфо в таком виде попала прии переносе из разных баз. Вот тогда можно заменять на "одного" (двух, трех..) контрагентов.
Во всех остальных случаях - получите не учетную базу, а набор записей для тестирования следующего кандидата на должность программиста :)
23. olegka.ru 6 17.07.12 13:09 Сейчас в теме
(22) frc,
Во всех остальных случаях - получите не учетную базу, а набор записей для тестирования следующего кандидата на должность программиста :)
вот об этом случаи и идёт речь ;)
не все счасливчики обслуживают СУБД на предприятии с его рождения... )))
24. olegka.ru 6 17.07.12 13:24 Сейчас в теме
(19) frc,
т.е. вы совершенно не представляете, что вы получите после замены ВСЕХ удаленных контриков на ОДНОГО "избранного"

PS
Кстати, бывают и вполне банальные ситуации, когда нужно именно вместо 1000 разовых контриков получить 1 избранного, и это связано уже не с программерами, а с "одарёнными" операторами или руководителями. Пример: оптовое предриятие торгует и в розницу; был контр. "Частное лицо", а затем появились "Ивановы, Петровы, Сидоровы", т.е. мусорные данные в БД.
25. frc 17.07.12 13:33 Сейчас в теме
(24) olegka.ru,
если по "Ивановы, Петровы, Сидоровы" оформлены документы с печатями - это уже не мусорные "Ивановы, Петровы, Сидоровы"
26. olegka.ru 6 17.07.12 13:54 Сейчас в теме
(25) frc,
если по "Ивановы, Петровы, Сидоровы" оформлены документы с печатями - это уже не мусорные "Ивановы, Петровы, Сидоровы"
Не очевидно...
30. serg_gres 153 20.07.12 16:16 Сейчас в теме
(1) fggf,
советую Вам не спешить и уточнить у заказчика почему эти контрагенты помечены на удаление?
С ними перестали работать?
Если да - зачем их удалять? Если мешают - повесить отбор на форму списка и подбора.
PS1 Они же есть не просят ? (я имею ввиду помеченных контрагентов:))
PS2 Клиент не всегда прав (из личного опыта)
2. hamsar 15 17.07.12 08:57 Сейчас в теме
Можно сделать цикличное удаление, всех ссылок на помеченный удаление, но таким образом может вся база улететь, поэтому лично я ничего не могу предложить, кроме работы бухгалтера.

Ну или можно удалить физически тогда будут битые ссылки везде, так что не советую.
3. fggf 17.07.12 09:04 Сейчас в теме
(2) hamsar,
Я посмотрел на одном примере.
Объект не удаляется потому что он имеет ссылки на документы которые не помечены на удаление.
вот как с этим быть.
12. beldieff 17.07.12 10:59 Сейчас в теме
(3) fggf, "поиск и замена значений"
4. DenisCh 17.07.12 09:04 Сейчас в теме
А что, взять несколько для примеру и рассмотреть варианты ссылок - не вариант?
5. artur_antipin 17.07.12 09:06 Сейчас в теме
Тут простого варианта в любом случает нет.
Есть на этом сайте обработки, которые показывают ссылки на помеченные на удаления. Волшебной кнопки не найдешь.
6. fggf 17.07.12 09:08 Сейчас в теме
(5) artur.antipin,
да я и не ищу волшебной кнопки получается единственный вариант - это перебирать руками потихонечку.
7. artur_antipin 17.07.12 09:14 Сейчас в теме
(6) fggf,
ну получается так!
Пока компьютер не может точно определить, что для тебя важно, а что нет.
8. Dmitr033 131 17.07.12 09:25 Сейчас в теме
Если не удаленные документы ссылаются на удаленные элементы справочника, то их нельзя удалять, и это правильно. Скажем Контрагента пометили на удаление, а то что есть движения в прошлом году по нему забыли. Если все же необходимо провести зачистку базы, то нужно сделать "обрезание базы", в этом случае после удаления уже не нужных документов прошлых периодов удаляться и ставшие ненужными элементы справочника.
9. jushkaaa 17.07.12 10:15 Сейчас в теме
Попробуй воспользоваться обработкой Поиск и замена значений. После того как заменишь помеченный на удаление объект нужным объектом (ликвидируются ссылки на объект), запускаешь обработку Удаление помеченных объектов. Все эти обработки являются стандартными, их можно найти в Нете
10. olegka.ru 6 17.07.12 10:42 Сейчас в теме
Есть такой вариант решения:
1. С помощью обработки "поиск и замена значений" заменить всех контрагентов и их договора тоже (Обязательно!!!) на одного контрагента, например "СтарыйКонтрагент"
2. Удалить помеченые.

на выходе получим всего 1 помеченного контрагента, с безумным кол-вом связанных объектов :)
18. fggf 17.07.12 12:12 Сейчас в теме
(10) olegka.ru,
Понравился вариант, надо подумать.
База скульная, контрагенты - это один из справочников, т.е. есть их других.
общее колво контрагентов в базе под 100тыс. представьте себе сколько может быть помеченных на удаление.
автору тз по кайфу такие задачки подбрасывать.
11. HameleonA 103 17.07.12 10:49 Сейчас в теме
Я бы посоветовал на начало года свернуть базу. Документов соответственно не будет. Остатков надеюсь по удаленным контрагентам нет?
13. frc 17.07.12 11:03 Сейчас в теме
(11) HameleonA,
он сейчас наделает... вместо чистки - устроит резню...
16. config 188 17.07.12 11:24 Сейчас в теме
Если файловая база, то удаляем непосредственно, затем chDBL.exe и смотрим на битые ссылки и уже принимаем решение как восстанавливать. Жёсткий способ, но это на тот случай, если клиент требует типа сделайте все, что угодно только уберите помеченных на удаление.
17. overdriver 17.07.12 11:28 Сейчас в теме
Перенести остатки и начать учет в новой базе. А старую не трогать и оставить как есть для возможности смотреть, формировать отчеты и т.д.
20. mika_mika 1 17.07.12 12:23 Сейчас в теме
Свертка и перенос остатков наверняка удалит не всех контрагентов, помеченных на удаление, помимо остатков по бух. счетам есть куча регистров, где тоже есть ссылки на этих самых контров. Но тут, конечно, многое зависит от мастерства того, кто будет делать свертку. А после свертки опять появятся новые удаленные контрагенты. Опять свертку делать будете? На мой взгляд, принимать решение о свертке нужно не на основе желания удалить ненужных контрагентов.
27. DrDrey 18.07.12 08:59 Сейчас в теме
Есть такой вариант решения:
1. С помощью обработки "поиск и замена значений" заменить всех контрагентов и их договора тоже (Обязательно!!!) на одного контрагента, например "СтарыйКонтрагент"
2. Удалить помеченые.

на выходе получим всего 1 помеченного контрагента, с безумным кол-вом связанных объектов :)


Обычно делаю также...
28. Hany 20.07.12 13:11 Сейчас в теме
29. AlexEron 20.07.12 14:27 Сейчас в теме
Поиск и замена - это конечно замечательно, только часто бывает после такой чистки по регистрам верификации или регистрации изменений, получаем объект не найден, а если еще настроенк какой нибудь обмен или РИБ, то вообще дрова.
Лучше конечно переносить остатки и резать базу. И чем мешают допустим 2-3 тысячи лишних контрагентов, на быстродействие не сказывается, на размер базы тоже не сильно, а вот документы старых периодов - это да, это объемы.

Какая выгода в том чтобы подчистить справочник контрагентов, таким зверским методом? (после замены ни один отчет не покажет ничего правильного, все сольется на одного контрагента)
31. serg_gres 153 20.07.12 16:21 Сейчас в теме
PS3 Интуитивно чувствую, что нужно просто свернуть базу
32. 8535 26.07.12 10:05 Сейчас в теме
Не всегда хотелки клиентов надо выполнять, бывают просят звезду с неба. Нужно проанализировать цели данной просьбы и насколько цель оправдывает средства. Может аргументация не стоит потраченных усилий. А вообще как по мне 2 варианта свернуть базу, и тогда возможно частично удаляться контрагенты, если по ним конечно остатков не будет висеть. Другой вариант - это заменить на одного, что, как по мне, тоже вариант кривоватый. Самый конечно оптимальный сесть бухгалтеру и самому анализировать каждую ссылку и документ, глядишь и ошибки найдутся. Я не удивлюсь если они пометили там и нужных контрагентов
33. V_K 26.07.12 10:59 Сейчас в теме
Как вариант чисто механический можно перебросить ссылки на одну карточку. Но вот вопрос на сколько это правильно будет, им что не нужна история по этим контрагентам?
34. olegka.ru 6 26.07.12 11:27 Сейчас в теме
(33) V_K, когда нужна история по "этим контрагентам" - подобные вопросы не возникают ;)
35. kykysk 26.07.12 16:12 Сейчас в теме
Вариант прост до безумия Создаешь пустую базу и выгружаешь только то что тебе надо со своей базы при помощи обработки ВыгрузкаЗагрузкаДанныхXML81.epf
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот