Восстановление объектов, помеченных на удаление
Физическое удаление объектов, помеченных на удаление
Контроль ссылочной целостности
Управление режимом контроля ссылочной целостности
Особенности реализации операции удаления для некоторых объектов программы
• Как удалить ненужную информацию из компьютерной бухгалтерии?
• Почему сначала производится пометка на удаление, а затем реальное удаление информации?
• Можно ли восстановить информацию, помеченную, как удаленную?
• Что означает "контроль ссылочной целостности информации"?
• Какими способами можно выполнить контроль ссылочной целостности?
• Как управлять режимом контроля ссылочной целостности информации?
• Какие объекты удаляются непосредственно без контроля ссылочной целостности?
• Какие информационные объекты невозможно удалить, работая в программе в режиме ведения бухгалтерского учета?
Удаление - очень ответственная операция, часто приводящая к безвозвратной потере информации. Причем всегда существует опасность, что по ошибке может быть удалена полезная информация, без которой теряют смысл ранее введенные операции, проводки, документы. Именно по этой причине разработчики программы "1С: Бухгалтерия" подошли очень ответственно к реализации данной операции. Возможно, кому-то могут показаться избыточными те сложности, которыми в программе окружена операция удаления, однако, такие предосторожности не покажутся лишними, если сопоставить те усилия, которые затрачиваются на реализацию операции удаления, с теми, которые потребуются для восстановления ошибочно удаленной информации. Как говорится в известной русской пословице: "Семь раз отмерь...".
Рассмотрим порядок удаления информации на примере справочника "Контрагенты". Изученные приемы в дальнейшем могут быть использованы для удаления других информационных объектов таких, как счета, операции, документы и др.
Задача 7-1
В справочник "Контрагенты" ошибочно введены две записи:
Санаторий "Дружба" Пансионат "Встреча" Необходимо удалить ошибочно введенные записи из справочника.
Для практического решения задачи введем в справочник две указанные записи. Тогда к имеющимся пяти элементам справочника добавятся еще два.
Код |
Наименование |
1 |
Боровик НПО |
2 |
Топ-Инвест КБ |
3 |
Доскин Е.Д. |
4 |
Чурбанов В.А. |
5 |
Шурупов Е.Л. |
6 |
Дружба Санаторй |
7 |
Встреча Пансионат |
Итак, нам необходимо удалить последние две записи.
Прежде всего, следует проверить, какой режим удаления объектов установлен в используемой конфигурации. Для этого обратимся к режиму настройки параметров программы (меню: "Сервис - Параметры") и раскроем закладку "Общие". В самой нижней ее строке устанавливается "Режим удаления объектов", который может принимать два возможных значения:
Пометка на удаление или Непосредственное удаление
В типовой конфигурации изначально должно быть установлено значение "Пометка на удаление", причем оно будет отображено блекло, что свидетельствует о том, что возможность выбора другого значения в данной конфигурации для пользователя закрыта. Если в используемой конфигурации установлена именно эта настройка, можно опять вернуться к справочнику и попытаться удалить два вновь введенных элемента. При этом следует помнить, что удаление реализуется в режиме "Пометка на удаление".
Для удаления элемента справочника следует поместить курсор на строку с удаляемым элементом и выполнить одно из следующих действий:
• нажать на клавиатуре клавишу Del;
• на панели инструментов окна справочника нажать кнопку ;
• выбрать в меню "Действия" главного меню программы пункт "Удалить" ("Пометить на удаление").
Выполнив указанные действия поочередно для двух удаляемых элементов, увидим, что они никуда не пропали, они остались на своих прежних местах в том же самом справочнике. Однако следует обратить внимание, что пиктограммы состояния у этих элементов теперь перечеркнуты косым крестом : . Это значит, что данные элементы помечены на удаление. То есть физически они присутствуют в системе, но система как бы "не видит их", считая удаленными.
Объекты, помеченные на удаление в любой момент времени могут быть восстановлены. Для этого достаточно по отношению к элементам, помеченным на удаление, повторно выполнить любое из действий, которые используются для пометки на удаление. То есть, если в справочнике выбрать элемент, помеченный на удаление и нажать клавишу Del, то пометка на удаление исчезнет, и элемент снова станет активным.
Объекты, помеченные на удаление, могут быть удалены из системы физически. Это просто необходимо делать для того, чтобы по мере необходимости освобождать систему от ненужного информационного "мусора" и тем самым разгружать память компьютера.
Прежде чем выполнить процедуру физического удаления объектов, ранее помеченных на удаление, сначала необходимо закрыть все открытые в программе окна. (Лучше всего это сделать через меню "Окна - Закрыть все"). Затем через меню "Операции-Удаление помеченных объектов" выполнить данную процедуру.
На первом этапе выполнения этой процедуры программа сформирует список объектов, помеченных на удаление, и выдаст его в отдельном окне, показанном на рис. 7-1.
рис. 7-1. Список объектов, помеченных на удаление.
Из этого списка (он расположен в верхней части окна) можно исключить элементы, удаление которых пока не требуется. Для этого щелчком мыши надо снять пометку в виде галочки, расположенную слева от наименования элемента.
Второй этап выполнения процедуры удаления предполагает выполнение контроля допустимости удаления информации. Выполнение этого этапа инициируется нажатием экранной кнопки Контроль. После чего программа проверяет можно ли удалить представленную в списке информацию без ущерба для функционирования системы. Если какой-то из находящихся в списке элементов удалять нельзя, программа выдаст об этом сообщение и сама исключит его из списка. Только после этого станет возможным инициировать процесс удаления, нажатием экранной кнопки Удалить.
После выполнения процедуры физического удаления в окне сообщений программа выдаст список удаленных объектов:
Удаленные записи:
Справочник: Договоры Основной договор
Справочник: Договоры Основной договор
Справочник: Контрагенты Дружба Санаторий
Справочник: Контрагенты Встреча Пансионат
Справочник.Договоры: удалено объектов 2
Справочник.Контрагенты: удалено объектов 2
После этого удаленные объекты уже нельзя будет восстановить, кроме как путем их повторного ввода.
Читатель может удивиться, почему процедура удаления объектов, итак уже помеченных пользователем на удаление, так сложна. Это сделано не случайно и объясняется высокой степенью ответственности операции удаления. Программа берет на себя выполнение важных функций по обеспечению контроля правомерности удаления данных. Смысл этих функций раскрывается в следующем параграфе.
В процессе удаления могут быть удалены элементы, которые участвовали при формировании проводок, документов, бухгалтерских итогов. Их удаление по цепочке приведет к нарушению целостности базы данных (или ссылочной целостности), когда одни информационные объекты используют другие, которые, в свою очередь, уже давно удалены.
При использовании механизма контроля ссылочной целостности процесс удаления объектов данных разделен на два этапа.
На первом этапе выполняется пометка объектов на удаление, на втором - удаление помеченных объектов. В ходе выполнения второй процедуры происходит полный анализ всех ссылок на помеченные объекты, и удаляются только те объекты, на которые ссылки либо отсутствуют, либо исходят от объектов, которые сами помечены для удаления. Следует помнить, что процедура удаления помеченных объектов выполняется только в монопольном режиме.
Для иллюстрации работы механизма ссылочной целостности выполним следующий эксперимент.
1. Пометим на удаление элемент справочника "Контрагенты": "Шурупов Е.Л."
2. Выполним операцию удаления помеченных объектов.
Программа позволит выполнить первое действие. Однако, при выполнении второго действия, на этапе контроля ссылочной целостности будет выдано сообщение, что выбранный объект удалить невозможно. В чем дело?
Конечно, мы помним, что данный элемент справочника использовался при вводе самой первой операции по учету уставного капитала и поэтому его удалять нельзя. Однако при большом числе справочников и проводок к подобному заключению прийти не так-то просто. В связи с этим, в программе имеется режим, автоматизирующий поиск информационных ссылок.
Используя данный режим, попробуем найти ответ на вопрос, почему нельзя удалять указанный элемент справочника.
Данный режим доступен через меню "Операции-Поиск ссылок на объекты". Диалоговое окно по горизонтали разделено на два поля. В верхнее поле пользователь должен ввести объекты (счета, документы, справочники), которые он хочет проверить на наличие ссылок. В нижнем - программа сформирует список ссылок на каждый из объектов списка.
Работа по контролю ссылок выполняется в два этапа. 1. Пользователь заполняет список объектов, для которых будет выполняться поиск ссылок.
Чтобы внести в список некоторый объект нужно на панели инструментов окна диалога нажать пиктограмму ("Добавить объект"). При этом выдается форма для выбора объекта, изображенная на рис. 7-2.
Рис. 7-2. Диалог выбора объекта
В ней сначала нужно выбрать вид объекта (в нашем случае это - справочник "Контрагенты"). Затем в нижнем поле следует выбрать конкретный объект указанного вида (в нашем случае это - элемент справочника "Шурупов Е.Л."). После этого для внесения объекта в список следует нажать кнопку Ок. Для отказа от внесения следует нажать кнопку Отмена. Для исключения объекта из списка в диалоговом окне кнопку следует нажать кнопку Удалить.
В результате выполнения описанного действия в список объектов для поиска будет помещен выбранный элемент (рис. 7-3-а). Аналогичным образом в список могут быть помещены и другие объекты.
Рис. 7-3. Поиск ссылок на элемент справочника "Контрагенты" а) ввод списка объектов для поиска б) программа формирует список обнаруженных ссылок на объект
На втором этапе для каждого объекта из введенного списка осуществляется поиск ссылок на объекты. Причем эта операция выполняется поочередно для каждого объекта списка. Для этого в списке объектов для поиска щелчком мыши выбирается некоторый элемент, после чего нажатие экранной кнопки Найти инициирует операцию поиска ссылок. В случае обнаружения ссылок на объект они будут помещаться в список ссылок, расположенный в нижней части окна диалога (рис. 7-3-6).
Как видно из приведенного рисунка, программа обнаружила, что указанный элемент справочника используется в операции №00001 проводке №5 от 15.07.2001. Теперь двойным щелчком мыши по найденной записи, или нажатием кнопки с пиктограммой "Открыть ссылку для просмотра", можно быстро найти ту самую операцию и проводку, которые используют данный элемент справочника.
Режим контроля ссылочной целостности весьма полезен, но, как и многие другие полезные вещи, имеет свои отрицательные стороны. Очевидно, что при включенном режиме контроля ссылочной целостности усложняется процедура удаления объектов, увеличивается время на ее выполнение. В результате возникает стремление реже прибегать к физическому удалению объектов, однако это приводит к захламлению информационной базы "лишним мусором" из помеченных к удалению объектов.
В тех случаях, когда пользователь может взять на себя ответственность за корректное удаление данных, режим ссылочной целостности можно отключать. Для этого надо войти в программу в режиме конфигурирования, раскрыть окно с деревом метаданных и обратиться к окну свойств текущей конфигурации двойным щелчком мыши по корневой записи в этом дереве ("Бухгалтерский учет..."). В окне свойств в закладке "Задача" путем установки или снятия флага "Разрешить непосредственное удаление объектов" можно управлять включением (выключением) режима контроля ссылочной целостности (рис. 7-4). Установка флага разрешает непосредственное удаление объектов за счет отключения режима контроля ссылочной целостности. И наоборот, запрет непосредственного удаления объектов свидетельствует об обязательном включении данного режима.
На рис. 7-4 показан вариант настройки свойств конфигурации, предусматривающий отключение режима контроля ссылочной целостности. При этом следует помнить, когда в конфигурации разрешено непосредственное удаление объектов, то появляется возможность его отмены в режиме ведения бухгалтерского учета посредством изменения значения параметра "Режим удаления объектов" (меню: "Сервис - Параметры(Общие)").
Рис. 7-4. В окне свойств конфигурации устанавливается режим разрешения непосредственного удаления объектов
На рис. 7-5 показан момент выбора режима удаления объектов.
Рис. 7-5. В настройке параметров системы устанавливается возможность управлять режимом удаления объектов
Рассмотрим некоторые особенности удаления информации, характерные для различных объектов программы.
На порядок удаления операций оказывает влияние включение или отключение режима контроля ссылочной целостности. При пометке на удаление операции, все входящие в нее проводки автоматически выключаются и суммы этих проводок не оказывают влияние на итоги. После снятия пометки на удаление проводки остаются выключенными. Обратное включение проводок должно быть выполнено принудительно с использованием действия "Включить проводки". Данное действие реализуется нажатием клавиши F8 или посредством меню: "Действия - Включить проводки". Включение проводок операции приводит к возобновлению их влияния на бухгалтерские итоги.
Отдельно взятую проводку нельзя пометить на удаление. Даже при включенном режиме контроля ссылочной целостности выполнение операции удаления по отношению к проводке всегда приводит к ее физическому уничтожению.
Константы, представленные в списке констант могут быть удалены из списка только в режиме конфигурирования. Удаление констант в режиме ведения бухгалтерского учета не предусмотрено.
Счета (субсчета) из плана счетов могут быть удалены или помечены на удаление только в том случае, если они были введены пользователем в режиме ведения бухгалтерского учета. Те счета (субсчета), которые были введены в режиме конфигурирования, соответственно могут быть удалены только в этом же режиме.