Удалить объект конфигурации 1с
Сама по себе система 1С лишена опции удаления объектов любого типа из хранилища. Исключение – через пометку на удаление. Как вариант, допускалось внесение настроек в роль пользователя, благодаря чему можно было удалять объекты из памяти без соответствующей пометки. Логично, что внесение подобных настроек – весьма рискованно, так как возникает большая вероятность случайного удаления важных документов или отчетов. К тому же даже такие рискованные настройки не дают возможности удалять все типы объектов (без пометки на удаление).
Пометка на удаление объектов в 1С
Пользователи системы 1С часто задаются вопросом, почему необходимо удалять объекты из памяти через специальную пометку.
Есть две важные причины, обосновывающие подобное положение дел:
- Не исключены ситуации, когда решение об удалении было поспешным и ошибочным. Сняв пометку, пользователь получает возможность восстановить файлы в полном объеме. Интерактивное удаление исключает возможность восстановления.
- Структура системы 1С такова, что может быть определенное количество ссылок, связывающих между собой ряд документов. В таком случае прямое удаление любого объекта, на который или из которого идет определенный линк, приведет к весьма неприятным последствиям. В первую очередь речь идет о «битых ссылках», которые провоцируют ошибки работы системы и со временем вызывают ее полное «падение».
Иными словами, отсутствие возможности прямого удаления объектов используется для защиты, в первую очередь, данных предприятия.
Виды удаления
Пользователи системы 1С могут выбрать один из двух методов для удаления объектов:
- Интерактивное или прямое удаление – проверка целостности имеющихся ссылок не происходит.
- Через пометку на удаление – в таком случае происходит контроль над сохранением целостности ссылок.
Отдельно стоит акцентировать внимание на самом понятии ссылочной целостности в 1С. Для большей ясности сначала стоит понять значение выражения «битая ссылка» — это линк, указывающий на несуществующий или неактивный объект памяти. Контроль ссылочной целостности исключает возможность удаления объекта, пока он задействован в ссылочной структуре. И это главное предназначение пометки на удаление – защитить от удаления файл, на который ссылаются другие файлы.
Виды удаления и восстановление удаленных объектов в 1С
Восстановить объект, который был удален из платформы 1С можно только на этапе установки пометки на удаление. Во всех остальных случаях происходит физическое удаление информации, и возобновить ее уже не представляется возможным.
Первый способ
Данный способ годится только для информационных баз с включенной возможностью изменения ИБ.
Главный недостаток интерактивного удаления – отсутствие контроля ссылочной целостности, что в будущем имеет просто фатальные последствия.
На этом этапе нужно выполнить копирование роли «Полные права». Сделать это можно при помощи клавиши F9. В результате появляется еще одна активная роль с наименованием «Полные права 1». Закрепить действие кликом на клавишу «ОК».
Дальнейшие действия направлены на сохранение конфигурации базы данных. Сделать это можно одним из двух способов:
- щелчком по иконке в виде синего бочонка;
- нажатием клавиши F7.
Статус данных можно проверить по изменению активности иконки с бочонком – когда она станет неактивной, сохранение выполнено.
Итог – создание роли с правами на интерактивное удаление объектов из 1С.
Теперь следует вернуться в Конфигуратор и активировать вкладку Администрирование – Пользователи.
Из выпадающего списка пользователей нужно выбрать того, кому будет присвоена функция интерактивного удаления в 1С. Откройте Свойства (F7 или «карандашик») – вкладка Прочие – «Полные права 1». Обязательно установите галочку активности и подтвердите действие кнопкой «Ок».
Теперь для выполнения нужной задачи достаточно войти в систему под именем пользователя, которому присвоены все права на совершение данного действия. Само удаление происходит через комбинацию клавиш SHIFT + DEL.
Второй способ
Рассмотрим вариант более безопасного удаления объектов. Начинается процесс с открытия нужной базы данных, выбора пункта меню Операции – Удаление …:
При использовании системы 1С с управляемым интерфейсом сначала нужно кликнуть на Администрирование, затем Сервис - Удаление …
Пользователи, которые не досконально знают меню платформы 1С, могут испытывать сложности с самостоятельным поиском в интерфейсе ссылок на мастер удаления помеченных объектов 1С. Тогда можно воспользоваться цепочкой Операции – Обработка – Удаление помеченных объектов, для приложений с обычными формами.
И Функции для технического специалиста - Удаление помеченных объектов, для приложений с управляемыми формами. Если пункт меню Функции для технического специалиста не отображается, его необходимо включить в настройках – включить режим технического специалиста.
После выполнения указанных действий активируется окно, в котором будут показаны все файлы, отмеченные на удаление. Важно установить галочки напротив всех объектов, которые действительно нужно удалить. Предпочтительно – выбрать все. Так как соответствующие отметки должны быть установлены только возле данных, которые уже не будут использоваться и не представляют собой никакой ценности.
Далее, нажав кнопку Удалить все или Удалить выбранные в случае если удаляемые объекты связаны с другими объектами, мы получим список связанных объектов:
Будут предложены возможные действия со связанными объектами. Необходимо выбрать действия для каждого связанного объекта и нажать «Повторить удаление» - удалятся помеченные объекты на удаление, и будут произведены указанные действия со связанными объектами. Операцию удаления будет завершена.
Во избежание системных ошибок важно своевременно удалять все отмеченные файлы на удаление.
Возможность непосредственного удаления объектов без пометки на удаление и контроля ссылочной целостности
В 1С:Предприятии 8 существует механизм контроля ссылочной целостности, предусматривающий выполнение удаления объектов в два этапа: пометку на удаление и удаление с контролем ссылочной целостности. Однако этот механизм является сервисным и не должен использоваться всегда в обязательном порядке.
Само по себе наличие ссылок на несуществующие объекты не является ошибкой с точки зрения платформы. Например, даже при использовании механизма контроля ссылочной целостности для объектов базы данных ссылки на удаленные объекты могут быть получены из сохраненных значений настроек отчетов.
Средства встроенного языка позволяют как пометить на удаление объект, так и удалить его непосредственно без контроля ссылочной целостности. Соответственно, и для интерактивной работы пользователя предусмотрена как возможность пометки объекта на удаление, так и возможность непосредственного удаления объекта.
Для избежания ошибок стандартное действие, вызываемое в списках по клавише Del, выполняет пометку на удаление, а для непосредственного удаления используется комбинация клавиш Shift+Del.
Для того чтобы запретить конечному пользователю возможность непосредственного удаления, следует отключать право "Интерактивное удаление" для соответствующих объектов конфигурации. Следует учитывать, что по умолчанию данное право, как и все остальные права, разрешено.
Таким образом, возможность непосредственного удаления (без контроля ссылочной целостности) должна определяться разработчиком конфигурации при настройке ролей и администратором при назначении ролей пользователям. В большинстве случаев имеет смысл запрещать пользователям интерактивное удаление и обеспечить, таким образом, использование механизма контроля ссылочной целостности. Однако в некоторых случаях непосредственное удаление может быть полезно. Например, для сотрудников, выполняющих первоначальное наполнение информационной базы до начала использования системы, или для объектов, на которые не создается ссылок в других объектах конфигурации.
Управление большинством объектов конфигурации выполняется в окне Конфигурация. В этом разделе будут изложены общие приемы создания объектов конфигурации, применимые к объектам конфигурации любых типов.
Для создания нового объекта конфигурации необходимо выполнить следующие действия:
● в дереве конфигурации выделить наименование типа объекта конфигурации или любого из существующих объектов конфигурации
того типа, который должен быть у создаваемого объекта;
● выбрать пункт Действия – Добавить окна Конфигурация.
Создание нового подчиненного объекта можно также производить следующим образом:
● открыть окно редактирования объекта (выбрать пункт Действия – Изменить окна Конфигурация);
● указать нужный вид подчиненного объекта;
● нажать кнопку Добавить.
В результате этих действий на текущей ветви дерева конфигурации появится новый объект, а на экран для редактирования свойств этого объекта будет автоматически вызвана палитра свойств, если палитра еще не была открыта . Для объектов, имеющих широкий набор редактируемых свойств, дополнительно к палитре свойств может вызываться окно
редактирования .
Новому объекту конфигурации присваивается условное имя, состоящее из слова, соответствующего типу создаваемого объекта, и числа – порядкового номера нового объекта конфигурации. Например, для нового справочника имя будет начинаться со слова «Справочник».
Палитра свойств объекта будет содержать значения свойств, задаваемые по умолчанию.
В конфигураторе контролируются имена объектов перед обновлением конфигурации базы данных и перед формированием поставки.
Для объектов, которые могут иметь подчиненные объекты (например, справочник может иметь реквизиты, табличные части, формы и
макеты), производится создание нужного числа и состава подчиненных объектов. Их формирование и настройка производятся с использованием различных средств конфигуратора.
Для облегчения создания некоторых составных частей (запросов, макетов и процедур печати, движений регистров, ввода на основании) объектов в конфигураторе имеются различные конструкторы – вспомогательные инструменты, облегчающие процесс проектирования . Для тех типов объектов, которые могут иметь формы, в системе имеются конструкторы форм – вспомогательные инструменты, облегчающие разработку форм объектов. Конструктор форм запускается при создании новой формы .
Для редактирования форм предназначен редактор форм.
Редактирование макетов, которые основаны на табличном документе, производится редактором табличных документов .
Для формирования макетов можно использовать конструктор печати (см. здесь) и конструктор выходных форм .
Редактирование макетов, которые основаны на текстовом документе, производится редактором текстовых документов .
Программы на встроенном языке, располагающиеся в модулях, создаются с использованием текстового редактора .
Для создания нового объекта можно использовать механизм перетаскивания объектов с помощью мыши. При перетаскивании объекта (как в пределах «своей» ветки, так и за ее пределы) создается новый объект. При этом производится проверка возможности
использования исходных свойств объекта в результирующем. Если результирующий объект поддерживает свойства, то они копируются.
Пример успешного копирования: перенос реквизитов, макетов справочника в документ. При копировании того же справочника в объект типа Стиль успешно перенесутся только имя, синоним и комментарий.
Если исходный объект содержит подчиненные объекты (реквизиты, формы, макеты и др.), то при перетаскивании на «подобный» уровень (например, перетаскивается объект Справочник.Валюты в ветвь Документы) скопируются реквизиты, формы, макеты и
табличные части. При этом некоторые свойства составных частей могут быть изменены (например, для документа отсутствует свойство Родитель).
Удаление объекта конфигурации
при удалении объекта конфигурации будет выполняться проверка использования удаляемого объекта в модулях. Если в результате проверки будет обнаружено
использование удаляемого объекта в текстах на встроенном языке, то на экран будет выдан список использований и будет запрошено подтверждение удаления объекта.
Ссылки на объект конфигурации
С точки зрения взаимосвязи объекты конфигурации делятся на несвязанные (например, реквизит Закупочная цена, имеющий тип Число) и связанные (например, реквизит Единица измерения справочника Номенклатура, ссылающийся на справочник Единицы
измерения).
Часто бывает полезно знать, какие объекты конфигурации ссылаются на данный объект, а также выяснить, какие объекты связаны с данным объектом. Для этих целей используются команды Действия – Поиск ссылок на объект и Действия – Поиск ссылок в объекте окна
Конфигурация.
Изменение в управляемых формах добавлено работа с бизнес процессами, задачами. Исправлены ошибки при работе на 8.3 платформе.
Специальные предложения
Обработка Удаление объектов. (Работает в управляемом приложении).
Гораздо лучше, чем стандартная, экономит много времени.
При удалении битых ссылок регистров сведений:
: Ошибка при вызове метода контекста (Записать): Ошибка записи! Не установлен отбор по регистратору (Регистр сведений: Цены номенклатуры)
НЗ.Записать();
по причине:
Ошибка записи! Не установлен отбор по регистратору (Регистр сведений: Цены номенклатуры)
Вот почему, почему! Почему 1С не сделает удаление объектов с возможностью отбора, ведь это же так просто и так нужно. Спасибо за обработку :)
А можно ли удалить часть устаревшей номенклатуры, при условии, что в документах установки цен и, возможно, чеках есть ссылки на элементы номенклатуры?
У нас сейчас вовсю идет внедрение УПП 8.2, обработкой пользуюсь постоянно на протяжении всего внедрения, очень удобно: в любой момент можно удалить из базы ненужные документы,почистить справочники. Большое спасибо!
Работает ли контроль ссылочной целостности? Удаляет через Пометку удаления или Полностью? Чем лучше УниверсальныеПодборИОбработкаОбъектов.epf? На вопрос "Подскажите плиз, в чем отличие если стоит галочка "Удалять через "Удалить объекты"" тоже не увидел ответа. Автор вы где?
(10) asg1975,
Удалять через "Удалить объекты" есть такая процедура в конфигурации. Её использую. там можно проверять на ссылочную целостность.
Не сочтите за назойливость, но в чем выигрыш по сравнению с универсальной от 1С "УниверсальныеПодборИОбработкаОбъектов.epf"?
(13) asg1975, Моя обработка еще кроме работы с объектами ссылками работает с регистрами сведений.
И ещё удаляет битые ссылки во всех регистрах.
А что означает "Удаление из любых регистров пустых ссылок"? Очень бы хотел чтобы была возможность удаления объектов, если в них присутствует "Битые ссылки". Это вообще возможно написать?
Изменение в управляемых формах добавлено работа с бизнес процессами, задачами. Исправлены ошибки при работе на 8.3 платформе.
Специальные предложения
Обработка Удаление объектов. (Работает в управляемом приложении).
Гораздо лучше, чем стандартная, экономит много времени.
При удалении битых ссылок регистров сведений:
: Ошибка при вызове метода контекста (Записать): Ошибка записи! Не установлен отбор по регистратору (Регистр сведений: Цены номенклатуры)
НЗ.Записать();
по причине:
Ошибка записи! Не установлен отбор по регистратору (Регистр сведений: Цены номенклатуры)
Вот почему, почему! Почему 1С не сделает удаление объектов с возможностью отбора, ведь это же так просто и так нужно. Спасибо за обработку :)
А можно ли удалить часть устаревшей номенклатуры, при условии, что в документах установки цен и, возможно, чеках есть ссылки на элементы номенклатуры?
У нас сейчас вовсю идет внедрение УПП 8.2, обработкой пользуюсь постоянно на протяжении всего внедрения, очень удобно: в любой момент можно удалить из базы ненужные документы,почистить справочники. Большое спасибо!
Работает ли контроль ссылочной целостности? Удаляет через Пометку удаления или Полностью? Чем лучше УниверсальныеПодборИОбработкаОбъектов.epf? На вопрос "Подскажите плиз, в чем отличие если стоит галочка "Удалять через "Удалить объекты"" тоже не увидел ответа. Автор вы где?
(10) asg1975,
Удалять через "Удалить объекты" есть такая процедура в конфигурации. Её использую. там можно проверять на ссылочную целостность.
Не сочтите за назойливость, но в чем выигрыш по сравнению с универсальной от 1С "УниверсальныеПодборИОбработкаОбъектов.epf"?
(13) asg1975, Моя обработка еще кроме работы с объектами ссылками работает с регистрами сведений.
И ещё удаляет битые ссылки во всех регистрах.
А что означает "Удаление из любых регистров пустых ссылок"? Очень бы хотел чтобы была возможность удаления объектов, если в них присутствует "Битые ссылки". Это вообще возможно написать?
Читайте также: