Как очистить справочники от неиспользуемых элементов?
Дано:
Самописная конфигурация на 1С 7, похожая на ТиС. База срезана(данные за 5лет) и оставлены данные за один год.
Нужно:
Удалить все элементы справочника, которые не используются. Т.е. висят в воздухе.
Нужна обработка. Операция стандартная, наверняка есть уже готовая. Не ткнете мордой в ссылку? Заранее спасибо!
Самописная конфигурация на 1С 7, похожая на ТиС. База срезана(данные за 5лет) и оставлены данные за один год.
Нужно:
Удалить все элементы справочника, которые не используются. Т.е. висят в воздухе.
Нужна обработка. Операция стандартная, наверняка есть уже готовая. Не ткнете мордой в ссылку? Заранее спасибо!
По теме из базы знаний
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Тогда вот так надо писать.
Держи лопату!
Копай в этом направлении. =>
Находит ссылки на объекты, переданные в списке значений.
Синтаксис:
НайтиСсылки(<Объекты>,<Ссылки>)
Англоязычныйсиноним:
FindReferences
Параметры:
<Объекты> Конкретное значение объекта илиобъект типа СписокЗначений, в котором данной процедуре передаются объекты, по которым надо найти ссылки.
<Ссылки> Идентификатор объекта типа ТаблицаЗначений, в который данная процедура помещает найденные ссылки на объекты. Таблица значений состоит из 3 колонок: 1. Объект — объект, на который ссылаются; 2. Ссылка — объект, который содержит ссылку; 3. Комментарий — комментарий кссылке.
Описание:
Процедура НайтиСсылки находит ссылки на переданные в списке объекты, и помещает их в таблицу значений.
Код 1C v 7.x
СсылкиТЗ=СоздатьОбъект("ТаблицаЗначений");
НайтиСсылки(СсылкаНаТовар,СсылкиТЗ);
//В результате мы получаем ТЗ с ссылками на данный элемент
Держи лопату!
Копай в этом направлении. =>
Находит ссылки на объекты, переданные в списке значений.
Синтаксис:
НайтиСсылки(<Объекты>,<Ссылки>)
Англоязычныйсиноним:
FindReferences
Параметры:
<Объекты> Конкретное значение объекта илиобъект типа СписокЗначений, в котором данной процедуре передаются объекты, по которым надо найти ссылки.
<Ссылки> Идентификатор объекта типа ТаблицаЗначений, в который данная процедура помещает найденные ссылки на объекты. Таблица значений состоит из 3 колонок: 1. Объект — объект, на который ссылаются; 2. Ссылка — объект, который содержит ссылку; 3. Комментарий — комментарий кссылке.
Описание:
Процедура НайтиСсылки находит ссылки на переданные в списке объекты, и помещает их в таблицу значений.
Код 1C v 7.x
СсылкиТЗ=СоздатьОбъект("ТаблицаЗначений");
НайтиСсылки(СсылкаНаТовар,СсылкиТЗ);
//В результате мы получаем ТЗ с ссылками на данный элемент
Вот накидал на скорую руку. Мне нужно почистить справочник "Товары". Не учитывать подчиненный справочник "Цены".
Можно выставлять фильтр по папке и чистить каждый день понемножку в свободное время :)
Может быть, кому-то тоже понадобится. Если найдете ошибки, просьба написать сюда.
Можно выставлять фильтр по папке и чистить каждый день понемножку в свободное время :)
Может быть, кому-то тоже понадобится. Если найдете ошибки, просьба написать сюда.
Прикрепленные файлы:
чистка_справ_Товары.ert
Ну и хорошо, если так! Просто, как-то приходилось сталкиваться с ситуацией (детали помню смутно, может и путаю чего), когда штатной обработкой удаления помеченных объектов удалялись элементы справочника, и какие-то то подчимненные элементы удалялись, а какие-то оставались, в итоге пустые ссылки... Поэтому предпочитаю перестраховываться в подобных случаях :)
(10)Сейчас попробовали. Типовая комплексная 928, ДЕМО. Помечаем на удаление номенклатуру. Естественно, помечаются все подчиненные справочники. Штатно удаляем. В итоге, конкретно у этого элемента удаляются цены (т.к. на них нет ссылок), а остальные справочники (ед. изм., партии) не удаляются, остаются помеченными на удаление (т.к. на них есть ссылки). В итоге получается как-бы не полная картина - цены были и их не стало :). В моём прежнем сообщении неточность, что остаются пустые ссылки (прошу извинить). Ссылки пустых нет, просто подчиненные элементы, на которые нет ссылок, удаляются.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот