Огромная база, учет в которой велся несколько лет. Раздутые справочники. Пользователи теряются при выборе. Некоторые элементы использовались еще до переноса в новую программу. Представили? А теперь расслабьтесь!
(1) можете попробовать(но быстродействие я не замерял) через "Сервис - Служебные - Групповая обработка документов и справочников" -> пометить справочник на удаление.
После удаляются неиспользуемые объекты. И снимается пометка удаления с оставшихся объектов.
Замечания:
1. Список справочников лучше отсортировать
ЭлементыФормы.СписокСправочников.Значение.СортироватьПоПредставлению();
2. Для неиерархических справочников помеченные на удаление элементы тоже не надо проверять.
3. Конструкция
Выборка = Результат.Выбрать();
Пока Выборка.Следующий() Цикл
МассивСсылок.Добавить(Выборка.Ссылка);
КонецЦикла;
эквивалентна одному оператору:
МассивСсылок=Результат.Выгрузить().ВыгрузитьКолонку("Ссылка");
4. Не учитываются предопределенные элементы справочника. Их нельзя пометить или удалить.
5. Для эффективности поиска лучше
ТаблицаНеиспользуемых.Свернуть("Ссылка");
6. А также повторить запрос вне транзакции с добавленным условием
И " + ИмяСправочника + ".Ссылка НЕ В (&ТаблицаНеиспользуемых)
(8) Александр, честно говоря эта обработка была написана на скорую руку за 15 минут. Более я ее использовать не планирую. Если есть желание, можно переписывать и оптимизировать, я не против.
Столкнулся с проблеммой - элемент справочника ВложенияЭлектронныхПисем не может не только удалить, но и пометить не дает, кричит "Недостаточно памяти", и поэтому не дает и выгрузку в УРИБе сделать, как удалить?
Как всегда оказалось, что что-то общее и универсальное не подошло :(
У нас база перекочевала с 7.7 в 8.0, потом в 8.1, затем была смена юр. лиц. В итоге, за полгода работы из 28 тыс элементов номенклатуры явно половина не востребована.
Но, если задавать обработке поиск, но натыкаемся на два момента
1) спр-к единицы измерений, с которым связана ном-ра
2) регистр сведений "Ном-ра органихзаций", данные в котором "перекочевали" от предыдущего юр. лица :)
3) не используемые нигде спецификации, которые тоже надо "зачистить"
Ничего, зато сам прощупал (в очередной раз...) нашу базу. Написал коряво, но быстро и работающе. Жаль времени много уходит - приходится системе анализировать тип ссылок, в которых исп-ся тот или иной элемент...
Люди, посоветуйте плз, стоит ли это скачивать? Нужно подчистить именно номенклатуру и только ее. Тут куча обработок, фиг поймешь, что нужно скачивать, т.к. если скачаешь не подходящую тебе обработку, потом придется флудить часами, восстанавливая потерянные очки :(
отличная обработка "Удаление неиспользуемых элементов справочников" очень помогла на стадии внедрения ББУ8, упустил момент воспользоваться подбной обработкой в ББУ 77 осуществил весь перенос со всей номенклатурой которой уже и в помине нет договорами контрагентами и т.п бухгалтера начали жужжать что мол много вего ненужного во и пришлось использовать старую добрую оработочку но уже в восмере КОРОЧЕ СПАСИБО!!!
(39) Спасибо! На сей раз скачать удалось. Правда сняли См и за неудачную попытку... Как там в этих случаях говорят: Сдох Максим да и фиг с ним! :) Ещё раз спасибо!
Скачал, сейчас тестирую... Уже заметил следующее. В УПП и в ЗУП есть такой механизм, как личные счета сотрудников. Они хранятся в РС. В нем же есть ссылка на банк типа СправочникСсылка.Контрагенты. За счет этого в организациях, где много иногородних сотрудников, в контрагентах появляется большое число записей, ссылка на которые есть только из РС расчетных счетов сотрудников.
Обработка, понятное дело, все это добро мне радостно пометила на удаление. А не надо бы.
Может, какой-то механизм исключений придумать, чтоб каждый раз не снимать пометку с таких записей?
при поиске в справочнике Контрагенты, не находит неиспользуемых, в используемых при этом находятся контрагенты, в которых показана ссылка на самого себя, с чем это может быть связано?
Тип: Массив.
Массив со списком ссылок на объекты, ссылки на которые нужно найти.
Возвращаемое значение:
Тип: ТаблицаЗначений.
Возвращает ссылки на найденные объекты в виде ТаблицаЗначений.
Первая колонка - исходная ссылка.
Вторая колонка - ссылка на объект, если найденная ссылка соответствует объектной таблице или значение, олицетворяющее запись необъектной таблицы.
Третья колонка - объект метаданных, которому соответствуют данные в которых найдена ссылка.
Описание:
Осуществляет поиск ссылок на объекты, переданные в параметре <СписокСсылок>.
В процедуре ВыполнитьПроверкуСправочника() ошибка - падает на иерархических справочниках без групп. Нужно так:
Если Метаданные.Справочники[ИмяСправочника].Иерархический
И Метаданные.Справочники[ИмяСправочника].ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов Тогда
Запрос.Текст = Запрос.Текст + "
| И (НЕ " + ИмяСправочника + ".ЭтоГруппа)";
КонецЕсли;