- •8. Механізм контролю цілісності даних в системі 1с: підприємство
- •Глава 19. Контроль ссылочной целостности
- •Контроль
- •Введение
- •Основные принципы
- •Включение режима контроля ссылочной целостности
- •Непосредственное удаление объектов
- •Установка и снятие пометки на удаление
- •Особенности использования объектов, помеченных на удаление
- •Удаление помеченных объектов
- •Подготовка списка помеченных объектов
- •Выбор объектов для удаления
- •Контроль
- •Просмотр результатов контроля
- •Удаление
- •Заключительная стадия
- •Поиск ссылок на объекты
- •Заполнение списка объектов
- •Поиск ссылок
- •Просмотр ссылок
Введение
Основные принципы
Включение режима контроля ссылочной целостности
Непосредственное удаление объектов
Установка и снятие пометки на удаление
Особенности использования объектов, помеченных на удаление
Удаление помеченных объектов
Подготовка списка помеченных объектов
Выбор объектов для удаления
Контроль
Просмотр результатов контроля
Удаление
Заключительная стадия
Поиск ссылок на объекты
Заполнение списка объектов
Поиск ссылок
Просмотр ссылок
Введение
В системе 1С:Предприятие значительная часть данных хранится в виде ссылок. Например, при вводе документов многие реквизиты документа могут заполняться путем выбора значения из справочника, или документа из списка документов. Такие реквизиты являются ссылками на элементы соответствующих справочников.
Использование ссылок позволяет избежать многократного исправления одной и той же информации в разных местах. Например после ввода и распечатки ряда документов выяснилось, что наименование организации-контрагента, на которую были выписаны эти документы, указано неправильно. Так как наименование контрагента вводилось в документы путем выбора из справочника контрагентов, достаточно отредактировать наименование контрагента только в справочнике — измененное наименование будет отражено в документах автоматически, и достаточно будет только заново построить печатные формы.
Однако, если удалить организацию-контрагента из справочника, то во всех документах, в которых она использовалась, останутся так называемые «неразрешенные ссылки» — ссылки на несуществующий объект.
Для исключения таких ситуаций в системе 1С:Предприятие существует механизм контроля ссылочной целостности, о котором пойдет речь в этой главе.
Основные принципы
Механизм контроля ссылочной целостности разделяет процесс удаления объектов данных, на которые могут существовать ссылки (счета, справочники и документы), на два этапа.
На первом этапе пользователи выполняют пометку объектов на удаление. При этом помеченный на удаление объект практически ничем не отличается в использовании от обычного объекта.
На втором этапе администратор системы, или иное лицо, для которого определены соответствующие права, выполняет специальную процедуру — удаление помеченных объектов. В ходе выполнения этой процедуры происходит полный анализ всех ссылок на помеченные объекты, и удаляются только те объекты, на которые ссылки либо отсутствуют, либо располагаются в объектах, которые также помечены для удаления.
Фактически, процедура удаления помеченных объектов является регламентной. Ее рекомендуется выполнять периодически по мере накопления помеченных объектов. Данная процедура выполняется только в монопольном режиме.
Включение режима контроля ссылочной целостности
Настройка режима контроля ссылочной целостности выполняется в диалоге «Настройка параметров системы», на закладке «Общие».
Практически при любой конфигурации системы 1С:Предприятие работа в режиме контроля ссылочной целостности является целесообразной, так как обеспечивает более надежное функционирование системы и функциональную устойчивость к некорректным действиям пользователей.
Однако система 1С:Предприятие может работать без использования данного механизма. В этом случае дополнительная ответственность ложится и на пользователей, выполняющих удаление объектов, и на администратора системы, определяющего права пользователей и действия системы при неразрешенных ссылках. Работа системы без контроля ссылочной целостности может, например, быть использована специалистами в процессе отладки конфигурации. Если контроль ссылочной целостности не используется, то удаление объектов происходит непосредственно (без пометки на удаление) и появляется возможность образования неразрешенных ссылок.
Самым радикальным способом установки режима контроля ссылочной целостности является отключение в конфигурации в целом возможности непосредственного удаления объектов. Таким способом полностью исключается возможность в пределах данной конфигурации непосредственно удалять объекты. Пользователи будут иметь возможность только помечать объекты на удаление. Если признак «Разрешить непосредственное удаление объектов» конфигурации включен, то возможность непосредственного удаления объектов может быть ограничена определенным категориям пользователей с помощью настройки прав доступа к конкретным видам объектов.
Кроме того, если признак «Разрешить непосредственное удаление объектов» в конфигурации включен, и у пользователя установлены нрава на непосредственное удаление объектов, то он может выбрать режим удаления при настройке параметров системы 1С:Предприятие.
Для отключения механизма контроля ссылочной целостности переключатель «Режим удаления объектов» должен быть установлен в состояние «Непосредственное удаление». Если переключатель установлен в состояние «Пометка на удаление», то будет использован контроль ссылочной целостности.
Разумеется, только отключение в конфигурации признака «Разрешить непосредственное удаление объектов» обеспечивает согласованное использование механизма ссылочной целостности всеми пользователями.
Внимание! Заметим, что средствами встроенного языка существует возможность непосредственного удаления объектов при любых установках в конфигурации. Поэтому элементы конкретной конфигурации могут выполнять непосредственное удаление в обход механизма контроля ссылочной целостности. В этом случае ответственность за целостность данных лежит на специалисте, выполняющем конфигурирование системы.