В процессе работы в программе «1С:Розница 2.0» справочник номенклатуры неизбежно разрастается. Появляются товары, которые больше не закупаются, позиции-дубли или ошибочно заведенные карточки. Когда пользователь пытается их удалить, система блокирует это действие, ссылаясь на наличие движений по документам прошлых периодов. В этой статье мы подробно разберем, как очистить базу от лишних позиций, не нарушив при этом исторические отчеты и ссылочную целостность данных.
В системе 1С действует принцип ссылочной целостности. Если товар хотя бы один раз был продан, закуплен или списан, ссылка на него сохранилась в соответствующих документах и регистрах накопления. Проанализируем, что произойдет, если принудительно удалить такой элемент (например, через интерактивное удаление Shift+Del): во всех документах вместо названия товара появится надпись «Объект не найден» с длинным буквенно-цифровым кодом (GUID). Это сделает невозможным формирование отчетов за прошлые периоды и может привести к критическим ошибкам в работе базы данных.
Рассмотрим безопасные и эффективные методы решения этой задачи.
Этот метод считается одним из самых адекватных, если вам нужно физически уменьшить количество карточек в справочнике Номенклатура, сохранив при этом общие суммы в отчетах. Суть заключается в том, чтобы «схлопнуть» все ненужные товары в одну служебную карточку.
Результат: Старые документы останутся корректными с точки зрения сумм и количеств, но ссылаться они будут на общую карточку. Теперь старые карточки товаров не имеют ссылок, и их можно удалить стандартным средством Администрирование — Обслуживание — Удаление помеченных объектов.
Если удаление невозможно из-за требований к детальной аналитике прошлых лет, разберем ситуацию, как скрыть товар от глаз пользователей (кассиров и менеджеров), не удаляя его физически.
Для этого настроим RLS (Record Level Security). Это позволит программе «фильтровать» справочник на уровне базы данных для определенных пользователей.
Номенклатура папку «_АРХИВ».
ГДЕ Ссылка НЕ В ИЕРАРХИИ (ЗНАЧЕНИЕ(Справочник.Номенклатура.Архив))
После такой настройки пользователи в окне подбора и в списке справочника просто перестанут видеть товары из архивной папки. При этом в старых отчетах администратор или бухгалтер с полными правами по-прежнему сможет увидеть детальную информацию по каждой позиции.
Если база данных стала слишком тяжелой и медленной, выясним причину и применим радикальный метод — свертку базы. Это стандартная процедура, которая обрезает документы за прошлые годы и заменяет их документами Ввод остатков.
Проанализируем шаги выполнения свертки:
Администрирование — Обслуживание — Свертка информационной базы.Часто проблема заключается не в самом наличии товара, а в том, что он мешает при поиске. Рассмотрим, как быстро «убрать» его из оперативного доступа без программирования.
Посмотрим на алгоритм действий:
Администрирование — Обслуживание — Групповое изменение реквизитов.Номенклатура.Наименование, добавив префикс «ZZZ_». Например: "ZZZ_" + Источник.Наименование. Это опустит товары в самый низ списка при сортировке.Бывают случаи, когда документов нет, но система все равно не дает удалить карточку. Проанализируем скрытые связи, которые часто забывают очистить:
Установка цен номенклатуры), запись в регистре сведений будет препятствовать удалению.Уровни запасов.Мы крайне не рекомендуем использовать метод интерактивного удаления (предоставление права на удаление через конфигуратор и использование Shift+Del). Хотя это кажется быстрым решением, последствия для базы данных могут быть плачевными:
Для качественной очистки базы «1С:Розница 2.0» лучше всего сочетать методы: сначала выполнить свертку базы для удаления старых движений, затем очистить сопутствующие регистры (штрихкоды, цены), и только после этого воспользоваться стандартным механизмом удаления помеченных объектов. Если свертка не планируется — используйте скрытие через RLS или замену значений на один архивный элемент. Это гарантирует стабильную работу программы и достоверность ваших отчетов.