Удалить ссылки на удаляемый объект 1с
Изменение в управляемых формах добавлено работа с бизнес процессами, задачами. Исправлены ошибки при работе на 8.3 платформе.
Специальные предложения
Обработка Удаление объектов. (Работает в управляемом приложении).
Гораздо лучше, чем стандартная, экономит много времени.
При удалении битых ссылок регистров сведений:
: Ошибка при вызове метода контекста (Записать): Ошибка записи! Не установлен отбор по регистратору (Регистр сведений: Цены номенклатуры)
НЗ.Записать();
по причине:
Ошибка записи! Не установлен отбор по регистратору (Регистр сведений: Цены номенклатуры)
Вот почему, почему! Почему 1С не сделает удаление объектов с возможностью отбора, ведь это же так просто и так нужно. Спасибо за обработку :)
А можно ли удалить часть устаревшей номенклатуры, при условии, что в документах установки цен и, возможно, чеках есть ссылки на элементы номенклатуры?
У нас сейчас вовсю идет внедрение УПП 8.2, обработкой пользуюсь постоянно на протяжении всего внедрения, очень удобно: в любой момент можно удалить из базы ненужные документы,почистить справочники. Большое спасибо!
Работает ли контроль ссылочной целостности? Удаляет через Пометку удаления или Полностью? Чем лучше УниверсальныеПодборИОбработкаОбъектов.epf? На вопрос "Подскажите плиз, в чем отличие если стоит галочка "Удалять через "Удалить объекты"" тоже не увидел ответа. Автор вы где?
(10) asg1975,
Удалять через "Удалить объекты" есть такая процедура в конфигурации. Её использую. там можно проверять на ссылочную целостность.
Не сочтите за назойливость, но в чем выигрыш по сравнению с универсальной от 1С "УниверсальныеПодборИОбработкаОбъектов.epf"?
(13) asg1975, Моя обработка еще кроме работы с объектами ссылками работает с регистрами сведений.
И ещё удаляет битые ссылки во всех регистрах.
А что означает "Удаление из любых регистров пустых ссылок"? Очень бы хотел чтобы была возможность удаления объектов, если в них присутствует "Битые ссылки". Это вообще возможно написать?
В этой статье узнаем как осуществляется удаление в 1С, научимся удалять объекты в 1С 8.3 напрямую, помечать их на удаление, и удалять помеченные на удаление объекты 1С.
Прямое удаление в 1С
В платформе 1С 8.3 имеется возможность удалить любой объект так, что он сразу исчезнет из базы 1С. Чтобы такая возможность предоставлялась, необходимо для нужного объекта у роли установить право «Интерактивное удаление».
Если такое право у объекта установлено, то в меню «Ещё» формы списка объекта появится команда «Удалить».
После применения этой команды, объект будет полностью удален из базы. Перед его удалением появится вопрос о том, согласны мы удалить этот объект или нет.
Не рекомендуется в реальной базе оставлять возможность интерактивного удаления объектов.
Сейчас я продемонстрирую почему.
Допустим, у нас ссылка на элемент справочника Контрагент, который мы собираемся удалить, указана в каком-то реквизите документа.
Таким образом, интерактивное удаление проходит без контроля ссылочной целостности: удаляя какой-то объект, платформа не проверяет, указана ли ссылка этот объект где-то ещё, тем самым мы ставя под угрозу ссылочную целостность данных базы.
Пометка удаления 1С
Для того, чтобы случайно не удалить объект, ссылка на который возможно указана в каких-то других данных базы 1С, необходимо сначала пометить этот объект на удаление, а потом удалить его при помощи специальной утилиты, которая в процессе удаления будет осуществлять контроль ссылочной целостности.
Чтобы пользователь имел возможность пометить на удаление какой-то объект, необходимо, у роли для этого объекта было установлено право «Интерактивная пометка на удаление».
На рисунке выше я также снял право «Интерактивное удаление», с целью запретить удалять экземпляры объекта без контроля ссылочной целостности.
Сейчас пользователь не может сразу удалить какой-то элемент объекта, для этого ему необходимо сначала пометить этот объекта на удаление. Делается это так: нужно выделить объект в форме списка, вызвать контекстное меню и выполнить команду «Пометить на удаление/снять пометку» (или просто нажать клавишу Del).
Также, можно пометить сразу несколько элементов, выделив нужные.
После выполнения команды, выйдет вопрос о том, нужно ли помечать объекты или нет.
Если мы ответим Да, то выделенные объекты будут помечены на удаление — слева появятся соответствующие значки.
Нам осталось удалить помеченные объекты из базы.
Удаление помеченных в 1С
Если нам нужно дать пользователю возможность удалять из базы помеченные на удаление элементы какого-нибудь объекта, то необходимо, чтобы у роли было для этого объекта установлено право «Интерактивное удаление помеченных».
Для удаления помеченных на удаление объектов следует воспользоваться утилитой «Удаление помеченных объектов». Начиная с платформы 1С 8.3.15, путь к ней следующий: необходимо в меню «Сервис и настройка» выполнить команду «Функции для технического специалиста».
В открывшемся окне следует в ветке «Стандартные» найти и выполнить команду «Удаление помеченных объектов».
В платформе редакции 8.3.14 и ниже, путь к окну с командой «Удаление помеченных объектов» будет следующий:
В открывшейся утилите «Удаление помеченных объектов», сначала будет предложено выбрать вариант удаления: полное удаление или выборочное.
Если выбрать выборочное удаление, то в следующем окне будет предложено выбрать те объекты, которые следует удалить.
В этой же утилите можно посмотреть, где в базе присутствует ссылка на объект, который пытались удалить.
Таким образом, установка пометки на удаление и последующее применение утилиты «Удаление помеченных объектов» позволяет производить более щадящее для ссылочной целостности базы данных удаление объектов.
Более подробно и основательно разработка в 1С дается в моей книге:
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
Из этой статьи вы узнаете, как в удалить в 1С объект при помощи программного кода, а также как поставить пометку на удаление.
В предыдущей статье, я рассказывал, как интерактивно удалить в 1С объект, и что для этого нужно настроить в правах конфигурации:
Программное удаление справочника в 1С
Для того чтобы программно удалить экземпляр справочника в 1С, необходимо воспользоваться методом Удалить объекта справочника. Для демонстрации разберу пример: разместим на форме обработки реквизит с ссылкой на справочник Контрагенты.
И при выполнении команды формы обработки, будем удалять этот экземпляр справочника.
В этом коде удаление экземпляра справочника я производил в серверном контексте. Сначала при помощи метода ПолучитьОбъект() из ссылки был получен экземпляр объекта справочника, а потом этот экземпляр удален при помощи метода Удалить(). В реквизит Контрагент управляемой формы я записал пустую ссылку, чтобы отображение ссылки удаленного объекта не вводило в заблуждение.
Замечу, что программное удаление произошло при таких правах на объект.
Право «Интерактивное удаление» снято, то есть мы не можем непосредственно удалять экземпляр этого объекта, но мы можем удалить его программно (благодаря установленному праву Удалить).
Замечу, что при программном удалении объекта контроль ссылочной целостности не происходит! Поэтом не следует злоупотреблять этой возможностью!
Программное удаление документа в 1С
Документ программным способом удаляется также, как и справочник: нужно воспользоваться методом Удалить() экземпляра объекта документа. Например, на форме этой обработки я размещу реквизит с ссылкой на документ.
А при выполнении команды документ будет удаляться.
Как и в случае справочника, программное удаление документа стало возможным благодаря установленному праву «Удалить».
Пометка на удаление программно в 1С
Для того, чтобы программно пометить на удаление объект необходимо воспользоваться методом объекта УстановитьПометкуУдаления.
Для документов он имеет следующий синтаксис: УстановитьПометкуУдаления(), где параметр ПометкаУдаления имеет тип булево.
Если — Истина, то пометка будет установлена, если Ложь – пометка будет снята.
Переделаем предыдущий пример: на форме разместим две команды.
Одна команда будет устанавливать пометку на удаление у документа в реквизите, вторая снимать.
В этом коде, в процедуре УстановитьНаСервере() мы устанавливаем пометку на удаление, передав в метод УстановитьПометкуУдаления параметр Истина, а в процедуре СнятьНаСервере() снимаем пометку, передав Ложь.
Для объектов справочников метод УстановитьПометкуУдаления имеет следующий синтаксис:
Параметр ВключаяПодчиненные имеет тип Булево, и если установлено Истина, то будут помечены на удаление подчиненные элементы (если справочник иерархический), а также все объекты подчиненного справочника (если есть).
Продемонстрируем работу второго параметра: на форму поместим реквизит с типом булево, реквизит с типом ссылка на справочник Контрагенты , и сделаем две команды: установить и снять.
В обработчиках команд будем устанавливать и снимать пометку на удаление.
У справочника Контрагенты включим иерархию.
И также сделаем подчиненный справочник.
Если мы установим пометку для группы с флажком подчиненные.
То будет помечена группа и все входящие в неё объекты.
А без установленного флага Подчиненные будет помечена только группа.
Тоже самое с объектами из подчиненного справочника. При установленном флаге Подчиненные.
Будет помечен на удаление и сам элемент справочника, и объекты подчиненного ему справочника.
А иначе, будет помечен только сам элемент.
Более подробно и основательно начальные вопросы программирования в 1С есть вы можете изучить в
Книга «Программировать в 1С за 11 шагов»
Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»
Книга написана понятным и простым языком — для новичка.
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Научитесь понимать архитектуру 1С;
- Станете писать код на языке 1С;
- Освоите основные приемы программирования;
- Закрепите полученные знания при помощи задачника.
О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
- Очень доступный и понятный язык изложения
- Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
- Поймете идеологию управляемого приложения 1С
- Узнаете, как разрабатывать управляемое приложение;
- Научитесь разрабатывать управляемые формы 1С;
- Сможете работать с основными и нужными элементами управляемых форм
- Программирование под управляемым приложением станет понятным
Промо-код на скидку в 15% — 48PVXHeYu
Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
При работе с базой 1с 8.3 ЗУП обработка по удалению помеченных объектов помогает поддерживать чистоту в базе. Механизм хорош тем, что пока мы не удалили поставленные на удаление объекты, всегда можно снять пометку и продолжить работу с объектом (документом, справочником).
Удаление документов в 1С 8.3 ЗУП
Иногда в 1С 8.3 ЗУП необходимо пометить на удаление и удалить объект (документ, справочник), который был введен по ошибке или по какой-то другой причине. Для таких ситуаций в программе разработан алгоритм действий по удалению. Разберем его по шагам на примере удаления документа.
Шаг 1. Пометка объекта на удаление
Пометим на удаление документ.
Шаг 2. Запуск обработки по удалению
В разделе Администрирование откроем обработку Удаление помеченных объектов .
Если обработка не видна в разделе, то выведем ее. Для этого в разделе Администрирование нажмем на значок шестеренки и вызовем форму Настройки навигации .
В разделе См.также найдем и добавим обработку в Выбранные команды .
Если требуется, чтобы обработка располагалась в разделе в первых рядах, то выделим ее в таблице Выбранных команд .
По команде Переместить в группу отправим в Важное .
В результате обработку Удаление помеченных объектов можно будет сразу увидеть в разделе Администрирование .
Также обработку можно открыть другим способом — по ссылке. Для этого воспользуемся «горячими» клавишами Shift + F11 и в форме вставим ссылку на обработку — e1cib/app/Обработка.УдалениеПомеченныхОбъектов
Шаг 3. Запуск процедуры удаления в обработке
В обработке отобразится список помеченных на удаление объектов в 1С ЗУП. Оставим флажки на нужных для окончательного удаления объектах и запустим команду Удалить выбранные .
Шаг 4. Контроль связи удаляемого объекта с другими объектами и повторное удаление
При удалении в 1С 8.3 ЗУП контролируется не связан ли удаляемый объект с другими объектами базы и выдается список.
Со связанным объектом можно указать какие действия необходимо произвести.
В нашем пример, хотя и предлагается удалить записи в связанном с Приемом на работу регистре сведений Перерасчет зарплаты , но сделать это непосредственно из обработки не получится. Придется открыть сервис Перерасчетов ( Зарплата – Перерасчеты ) и там удалить лишнюю запись.
После этого возвратиться в обработку и повторить удаление объекта.
Документ будет удален из 1с 8.3 ЗУП.
Мы успешно разобрали как сделать удаление документов с помощью обработки Удаление помеченных объектов в 1С 8.3 ЗУП.
См. также:
Если Вы еще не подписаны:
Активировать демо-доступ бесплатно →
или
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы по 1С:ЗУП, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
Рассмотрим как подключать, обновлять, отключать и удалять расширения в ЗУП.Из настроек расчета зарплаты (Настройка – Расчет зарплаты) убрана настройка...
(1 оценок, среднее: 5,00 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
Сердечно поздравляю команду БухЭксперт8 и Профбух8 с восьмилетием.
СПАСИБО ВАМ за приобретенные знания во Вселенной 1С. У Вас работают настоящие профессионалы и просто хорошие и порядочные люди.
У вас пока еще скромненькая дата, но вы уже достигли много на своем творческом пути. Завоевали нашу к Вам огромную любовь, уважение и доверие.
Пусть Вам сопутствуют удача и успех, пусть не покидают Вас энтузиазм и силы. Желаю дальнейшего процветания, а каждому из вас — здоровья, счастья, любви, семейного благополучия
Содержание
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
Каждый пользователь программы 1С сталкивается с ситуациями, когда нужно удалить из программы какой-либо объект: документ, элемент справочника и т.п. Рассмотрим на примере программы 1С 8.3 Бухгалтерия 3.0 как удалить помеченные на удаление объекты. Разберемся, как поставить пометку на удаление, а затем удалить удаленные объекты с помощью специальной обработки в программе 1С.
Удаление помеченных объектов в 1С 8.3
Для того, чтобы удалить помеченные на удаление объекты в 1С, в пункте меню Администрирование есть раздел Удаление помеченных объектов .
Можно выбрать режим удаления в 1С — автоматическое удаление всех помеченных объектов или выборочное удаление и нажимаем кнопку Удалить .
Как видим — удалено 10 объектов, в том числе и те, на которые установили пометку на удаление, остальные помеченные на удаление объекты не удалены. Программа 1С 8.3 производит проверку этих элементов на использование их в других объектах.
Так, например, если хотим удалить договор в 1С, а он был задействован в документах, то программа не удалит его, а покажет ссылку на эти документы и вы уже принимаете решение, что делать с этим объектом.
Возможно в документе просто указан старый договор и его действительно нужно удалить, заменив при этом в документе на другой. Или же какой-то помеченный на удаление элемент номенклатуры, может быть связан с документом — как в нашем примере, и если мы выделим конкретный не удаленный объект, справа в окошке отобразится информация о месте его использования.
Для их удаления в 1С нужно или пометить на удаление связанные с этим элементом объекты, или заменить их в перечисленных местах использования (документах и т.п.)
Нажав кнопку Заменить, в нашем примере открывается справочник Номенклатура , где видим, что в справочнике есть элемент с таким же названием — Бумага Снегурочка, но с кавычками (видимо пользователем было занесено два одинаковых наименования, одно из которых решили удалить). Произведем его замену — выбираем и нажимаем кнопку Заменить .
Таким образом, необходимо проанализировать все неудаляемые элементы в 1С. После чего нажать кнопку Повторить удаление .
При удалении большого объема информации, для ускорения выполнения действия можно временно заблокировать работу программы 1С 8.3 (установив галочку Заблокировать всю работу в программе и ускорить удаление ), установив тем самым монопольный режим. Но использовать эту настройку нужно только при необходимости, чтобы не блокировать работу пользователей.
Пометка на удаление в 1С 8.3
В программе 1С 8.3 реализован механизм контроля ссылочной целостности, когда сначала устанавливается пометка на удаление на объект, а затем происходит контроль ссылок на другие объекты и его удаление (при возможности).
Это значит, что если данный объект или его данные используются в другом документе, то программа 1С его не удалит, указав ссылку на связанный объект. Хотя возможность непосредственного удаления объектов, без контроля ссылочной целостности существует и задается разработчиком или администратором при настройке ролей пользователей.
Для того чтобы поставить пометку на удаление, достаточно выделить объект и нажать кнопку Del на клавиатуре, нажать кнопку Еще и выбрать команду Пометить на удаление/Снять пометку .
Эта же команда доступна, если щелкнуть на объекте правой кнопкой мыши. При этом мы можем выделить группу объектов, если при выделении удерживать кнопку Ctrl или Shift.
В этом случае пометка на удаление будет установлена на выделенные объекты.
Мы разобрали удаление помеченных объектов в 1С 8.3.
См. также:
Если Вы еще не являетесь подписчиком системы БухЭксперт8:
Активировать демо-доступ бесплатно →
или
Оформить подписку на Рубрикатор →
После оформления подписки вам станут доступны все материалы по 1С Бухгалтерия, записи поддерживающих эфиров и вы сможете задавать любые вопросы по 1С.
Помогла статья?
Получите еще секретный бонус и полный доступ к справочной системе БухЭксперт8 на 14 дней бесплатно
Похожие публикации
-
Такая возможность в программе существует. Если в списке начислений присутствует.Удаление «лишней» информации актуально для работы на маленьких экранах, ноутбуках..Удалить 1С 8.3 с компьютера полностью можно самостоятельно, но нужно.
(6 оценок, среднее: 4,33 из 5)
Публикацию можно обсудить в комментариях ниже.
Обратите внимание!
В комментариях наши эксперты не отвечают на вопросы по программам 1С и законодательству.
Задать вопрос нашим специалистам можно в Личном кабинете
Вы можете задать еще вопросов
Доступ к форме "Задать вопрос" возможен только при оформлении полной подписки на БухЭксперт8
Нажимая кнопку "Задать вопрос", я соглашаюсь с
регламентом БухЭксперт8.ру >>
С 1 мая — новые коды в платежках при переводе денег физлицам
Изменения в 2022 году, о которых нужно знать бухгалтеру
Раз ошибка, два ошибка…и проблемы тут как тут: как не волноваться из-за бухгалтерских ошибок
Переход на ФСБУ 6/2020 «Основные средства» в 1С по альтернативному алгоритму
6-НДФЛ за 1 квартал 2022 в 1С
Сердечно поздравляю команду БухЭксперт8 и Профбух8 с восьмилетием.
СПАСИБО ВАМ за приобретенные знания во Вселенной 1С. У Вас работают настоящие профессионалы и просто хорошие и порядочные люди.
У вас пока еще скромненькая дата, но вы уже достигли много на своем творческом пути. Завоевали нашу к Вам огромную любовь, уважение и доверие.
Пусть Вам сопутствуют удача и успех, пусть не покидают Вас энтузиазм и силы. Желаю дальнейшего процветания, а каждому из вас — здоровья, счастья, любви, семейного благополучия
Читайте также: