Как найти помеченные на удаление объекты

Получить список помеченных на удаление объектов.

Я
   Doktor84

20.11.08 — 13:05

Как получить список помеченных на удаление объектов со ссылками на объекты, которые после контроля невозможно удалить, в какой — нибудь текстовый файл. Т.К. когда их 12000, просто невозможно отследить их в Предприятии. Может есть какая-нибудь обработка

   Ёпрст

1 — 20.11.08 — 13:09

курим УдалитьОбъекты

   Irbis

2 — 20.11.08 — 13:09

НайтиСсылки() кажись. А что СП отсутствует как таковой?

   Вовик007

3 — 20.11.08 — 13:09

перебрать 12000 + НайтиСсылки();

   Irbis

4 — 20.11.08 — 13:10

НайтиСсылки(<?>,);

FindReferences(<?>,);

Синтаксис:

НайтиСсылки(<Объекты>,<Ссылки>)

Назначение:

Находит ссылки на объекты, переданные в списке значений.

Параметры:

<Объекты> — конкретное значение искомого объекта или значение типа »СписокЗначений», в котором данной процедуре передаются объекты, по которым надо найти ссылки.

<Ссылки> — идентификатор объекта типа »ТаблицаЗначений», в который данная процедура помещает найденные ссылки на объекты. Таблица значений состоит из 3 колонок: 1. объект на который ссылаются; 2. объект, который содержит ссылку; 3. комментарий к ссылке.

   Ёпрст

5 — 20.11.08 — 13:11

если нужно готовое, то их как грязи ..
вот одно из них:
http://infostart.ru/profile/4246/projects/1281/),

   ДенисЧ

6 — 20.11.08 — 13:12

НайтиПомеченныеНаУдаление(<?>);

Синтаксис:

НайтиПомеченныеНаУдаление(<Объекты>)

Назначение:

Находит все помеченные на удаление объекты.

Параметры:

<Объекты> — идентификатор объекта типа »СписокЗначений», в который данная процедура помещает найденные объекты.

   vladko

7 — 20.11.08 — 13:25

Если написать эти 3 строчки, то можно удалить помеченные объекты, не заходя в монопольный режим:

Список=СоздатьОбъект(«СписокЗначений»);

НайтиПомеченныеНаУдаление(Список);

УдалитьОбъекты(Список,1);

   Doktor84

8 — 20.11.08 — 14:18

Спасибо ребята

   Sadovnikov

9 — 20.11.08 — 14:21

(7) А это теперь считается хорошим тоном — в один модуль пихать семерошные и восьмерошные методы?

   ДенисЧ

10 — 20.11.08 — 14:23

(9) Нет, хорошим тоном считается знать то, о чём говорят :-)

   TM

11 — 20.11.08 — 14:24

(9) А который из них чисто восмерошный? ;)

   Sadovnikov

12 — 20.11.08 — 14:24

(10) Пример этого — в (7)???

   Sadovnikov

13 — 20.11.08 — 14:25

(11) Что-то отказывается у меня поиск искать в семерошном СП метод УдалитьОбъекты(Список,1);

   ДенисЧ

14 — 20.11.08 — 14:26

УдалитьОбъекты(<?>,,);

Синтаксис:

УдалитьОбъекты(<Объекты>,<Проверять>,<Ссылки>)

Назначение:

Удаляет объекты, переданные в списке значений.

Параметры:

<Объекты> — конкретное значение объекта или значение типа »СписокЗначений», в котором данной процедуре передаются объекты, которые надо удалить.

<Проверять> — необязательный параметр. Число: 1 — перед удалением проверяется, нет ли ссылок на удаляемый объект. Если есть, то объект не удаляется, а ссылки помещаются в таблицу значений <Ссылки>. Любое другое число — проверку не выполнять. Значение по умолчанию: 0.

<Ссылки> — Необязательный параметр. Идентификатор объекта типа »ТаблицаЗначений», в который данная процедура помещает найденные ссылки на объекты. Таблица значений состоит из 3 колонок: 1. объект на который ссылаются; 2. объект, который содержит ссылку; 3. комментарий к ссылке.

   TM

15 — 20.11.08 — 14:27

(13) Бастует мужик в шапке, собако. Зажрался. Сокращать пора

УдалитьОбъекты

Удалить объекты, переданные в списке значений.

Синтаксис:

УдалитьОбъекты(<Объекты>, <Проверять>, <Ссылки>)

Англоязычный синоним:

DeleteObjects

Параметры:

<Объекты>

Конкретное значение объекта или объект типа «СписокЗначений», в котором данной процедуре передаются объекты, которые надо удалить.

<Проверять>

Необязательный параметр. Число: 1 — перед удале­нием проверяется — нет ли ссылок на удаляемый объект. Если есть, то объект не удаляется, а ссылки помещаются в таблицу значений <Ссылки>. Любое другое число — проверку не выполнять. Значение по умолчанию: 1.

<Ссылки>

Необязательный параметр. Идентификатор объекта типа «ТаблицаЗначений», в который данная про­цедура помещает найденные ссылки на объекты. Таблица значений состоит из 3 колонок:

1. Объект — объект, на который ссылаются;

2. Ссылка — объект, который содержит ссылку;

3. Комментарий — комментарий к ссылке.

Описание:

Процедура УдалитьОбъекты удаляет объекты, переданные в списке значе­ний.

Пример:

Список = СоздатьОбъект(«СписокЗначений»);

ТаблицаСсылок = СоздатьОбъект(«ТаблицаЗначений»);

НайтиПомеченныеНаУдаление(Список);

УдалитьОбъекты(Список, 1, ТаблицаСсылок);

   Sadovnikov

16 — 20.11.08 — 14:27

(14) АААА!!!! Это заговор!!!

Пока ты тут не выложил цитату из своего СП, мой СП отказывался искать этот метод! А потом — сразу нашел…

P.S. Туплю, блин…

   ДенисЧ

17 — 20.11.08 — 14:29

(160) Надо было полнее набирать :-) Не УдалитьОб, а УдалитьОбъ …

   Sadovnikov

18 — 20.11.08 — 14:32

(17) Ага… Ты у меня за спиной стоял и все видел? И сказать не мог???

На «УдалитьОб» СП честно нашел УдалитьОбработчикСобытия(<?>) и дальше я буковки набирать не стал :(

   Ёпрст

19 — 20.11.08 — 14:32

вот вам и грибочки ..
ужо лень по клаве стучать..

   ДенисЧ

20 — 20.11.08 — 14:33

(18) Я точно так же искал :-) И в результате нашёл через НАйтиСсылки, а там рядом…

   Sadovnikov

21 — 20.11.08 — 14:33

(19) Да и не говори… Пипец, как обленились…

(20) Уфф… Я не один такой :)

   Ёпрст

22 — 20.11.08 — 14:38

а я и так помнил … в (1)
:))

  

Sadovnikov

23 — 20.11.08 — 14:42

(22) Эх… Мне бы твою памать… А то моя мне с кем-то изменяет.

Не с тобой? А? :)

В этой статье узнаем как осуществляется удаление в 1С, научимся удалять объекты в 1С 8.3 напрямую, помечать их на удаление, и удалять помеченные на удаление объекты 1С.

Прямое удаление в 1С

В платформе 1С 8.3 имеется возможность удалить любой объект так, что он сразу исчезнет из базы 1С.  Чтобы такая возможность предоставлялась, необходимо для нужного объекта у роли установить право «Интерактивное удаление».

Интерактивное удаление 1С

Если такое право у объекта установлено, то в меню «Ещё» формы списка объекта появится команда «Удалить».

Команда удалить в меню Ещё 1С

После применения этой команды, объект будет полностью удален из базы. Перед его удалением появится вопрос о том, согласны мы удалить этот объект или нет.

Вопрос перед удалением объекта 1С

Не рекомендуется в реальной базе оставлять возможность интерактивного удаления объектов.  

Сейчас я продемонстрирую почему.

Допустим, у нас ссылка на элемент справочника Контрагент, который  мы собираемся удалить, указана в каком-то реквизите документа.

Ссылка на справочник в реквизите документа 1С

Если мы удалим этот элемент справочника Контрагент, как мы это делали выше, то после повторного открытия документа, в котором была указана ссылка на удаленный элемент справочника Контрагент, на месте удаленного элемента мы обнаружим сообщение «Объект не найден».

Объект не найден в 1С

Таким образом, интерактивное удаление проходит без контроля ссылочной целостности: удаляя какой-то объект, платформа не проверяет, указана ли ссылка этот объект где-то ещё, тем самым мы ставя под угрозу ссылочную целостность данных базы.

Пометка удаления 1С

Для того, чтобы случайно не удалить объект, ссылка на который возможно указана в каких-то других данных базы 1С, необходимо сначала пометить этот объект на удаление, а потом удалить его при помощи специальной утилиты, которая в процессе удаления будет осуществлять контроль ссылочной целостности.

Чтобы пользователь имел возможность пометить на удаление какой-то объект,  необходимо, у роли для этого объекта было установлено право «Интерактивная пометка на удаление».

Интерактивная пометка на удаление 1C

На рисунке выше я также снял право «Интерактивное удаление», с целью запретить удалять экземпляры объекта без контроля ссылочной целостности.

Сейчас пользователь не может сразу удалить какой-то элемент объекта, для этого ему необходимо сначала пометить этот объекта на удаление. Делается это так: нужно выделить объект в форме списка, вызвать контекстное меню и выполнить команду «Пометить на удаление/снять пометку» (или просто нажать клавишу Del).

Пометить на удаление/снять пометку 1C

Также, можно пометить сразу несколько элементов, выделив нужные.

Пометить на удаление/снять пометку 1C

После выполнения команды, выйдет вопрос о том, нужно ли помечать объекты или нет.

Пометить выделенные элементы на удаление 1C

Если мы ответим Да, то выделенные объекты будут помечены на удаление  —  слева появятся соответствующие значки.

Объекты помеченные на удаление 1C

Нам осталось удалить помеченные объекты из базы.

Удаление помеченных в 1С

Если нам нужно дать пользователю возможность удалять из базы помеченные на удаление элементы какого-нибудь объекта, то необходимо, чтобы у роли было для этого объекта установлено право «Интерактивное удаление помеченных».

Право интерактивное удаление помеченных в 1C

Для удаления помеченных на удаление объектов следует воспользоваться утилитой «Удаление помеченных объектов».  Начиная с платформы 1С 8.3.15, путь к ней следующий: необходимо в меню «Сервис и настройка» выполнить команду «Функции для технического специалиста».

Функции для технического специалиста 1С

В открывшемся окне следует в ветке «Стандартные» найти и выполнить команду «Удаление помеченных объектов».

Удаление помеченных объектов 1С

В платформе редакции 8.3.14 и ниже, путь к окну с командой «Удаление помеченных объектов» будет следующий:

Меню все функции 1С

В открывшейся утилите «Удаление помеченных объектов», сначала будет предложено выбрать вариант удаления: полное удаление или выборочное.

Удаление помеченных объектов 1С

Если выбрать выборочное удаление, то в следующем окне будет предложено выбрать те объекты, которые следует удалить.

Удаление помеченных объектов 1С

После выбора объектов и нажатия на кнопку «Удалить», утилита проведет контроль ссылочной целостности и удалит те объекты, на которые нет ссылок в базе. Объекты же, на которые присутствуют ссылки в каких-то данных, удалены не будут, о чем выйдет сообщение.

Удаление помеченных объектов 1С

В этой же утилите можно посмотреть, где в базе присутствует ссылка на объект, который пытались удалить.

Удаление помеченных объектов 1С

Таким образом, установка пометки на удаление и последующее применение утилиты   «Удаление помеченных объектов» позволяет производить более щадящее для ссылочной целостности базы данных удаление объектов.

Продолжение: как программно удалить объект в 1С

Более подробно и основательно разработка в 1С дается в моей книге:
Книга «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книгой «Программировать в 1С за 11 шагов»

Программировать в 1С за 11 шагов

Книга написана понятным и простым языком — для новичка.

  1. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  2. Научитесь понимать архитектуру 1С;
  3. Станете писать код на языке 1С;
  4. Освоите основные приемы программирования;
  5. Закрепите полученные знания при помощи задачника.

О том как разрабатывать под управляемым приложением 1С, читайте в книге Книга «Основы разработки в 1С: Такси»

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

Основы разработки в 1С такси
  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu

Эти книги, плюс книга по программированию оперативного учета имеются в едином комплекте: комплект книг по разработке в 1С.
Только для читателей моего блога,
промо-код на скидку в 300 рублей на весь комплект: blog


Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму
.

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Вступайте в мои группы:

Вконтакте: https://vk.com/1c_prosto
Фейсбуке: https://www.facebook.com/groups/922972144448119/
ОК: http://ok.ru/group/52970839015518
Твиттер: https://twitter.com/signum2009

Не могу найти «Удаление помеченных объектов»

Автор Leviathan, 13 янв 2016, 04:21

0 Пользователей и 1 гость просматривают эту тему.

Доброго дня!
Какой-то фейспалмный вопрос, но я что-то реально в тупике.
Установили новую конфигурацию Управление автотранспортом Стандарт, редакция 2.0 (2.0.1.2)
Права все дал. Меню все перерыл. Даже поиском по конфигурации пошерстил.

Где же оно?.. Что я делаю не так? И не гуглится ничего на эту тему.
Заранее спасибо.


Удаление помеченных объектов — это системная операция.
Она сидит в меню «Операции».
Иногда настраивая интерфейс это меню прячут…

Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.


Не вижу никакого меню «Операции» в УАТ 2.0 :wacko:
Рабочий стол
Работа ТС
Учет ГСМ
Управление ремонтами и учет агрегатов
Складской учет
Управление персоналом и учет зарплаты
Управление затратами
Нормативно-справочная информация
Администрирование

В администрировании ничего нет. У меня полные права…


Управляемое приложение?
Тогда слева вверху «кружок», меню выпадет «Файл, Правка и т.д.»
В самом низу должен быть пункт «Все функции», вот там теперь и запрятано.

Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.


:zebzdr: Огромное спасибо!!
Я там искал. Но смотрел «Обработки». А там оказывается в самом низу появился неприметный пунктик со странным названием «Стандартные», и вот там-то оно и сидит.

Ох, может я и не прав в виду небольшого опыта в неродных конфах, но по-моему Рарус те еще затейники…


Рарус не причем, это фишка любой конфиги на управляемом приложении.

Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.


Я имел в виду что в Бухгалтерии, например, «Удаление помеченных объектов» также есть в Администрировании и доступно через интерфейс


ну это уже на усмотрение разработчиков

Получил помощь — скажи СПАСИБО.
Разобрался сам — расскажи другим.


 0 

   

Распечатать

Вывести все помеченные на удаление элементы справочника

Код 1C v 8.х

  Запрос=новый Запрос;
Запрос.Текст="
|ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ПометкаУдаления = ИСТИНА
|";
Результат = Запрос.Выполнить();
Результат = Результат.Выбрать();
Пока Результат.Следующий() Цикл
//Код обработки результата запроса
КонецЦикла;

Код 1C v 7.x

 Спр=СоздатьОбъект("Справочник.Контрагенты");
спр.выбратьЭлементы();
Пока спр.ПолучитьЭлемент()=1 Цикл
Если спр.ПометкаУдаления()=1 тогда //выводим, если стоит пометка на удаление
сообщить(спр.наименование);
конецЕсли;
КонецЦикла;
Код 1C v 8.х

 Запрос=новый Запрос;
      
Запрос.Текст="
|ВЫБРАТЬ
| Номенклатура.Ссылка
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.ПометкаУдаления = ИСТИНА
|";
Результат = Запрос.Выполнить();
Результат = Результат.Выбрать();
Пока Результат.Следующий() Цикл
//Код обработки результата запроса
КонецЦикла;

Код 1C v 7.x

 Спр=СоздатьОбъект("Справочник.Контрагенты");
      
спр.выбратьЭлементы();
Пока спр.ПолучитьЭлемент()=1 Цикл
Если спр.ПометкаУдаления()=1 тогда //выводим, если стоит пометка на удаление
сообщить(спр.наименование);
конецЕсли;
КонецЦикла;

Подпишитесь на нашу рассылку новостей

Хотите узнать больше по этому вопросу?

Подпишитесь на нашу рассылку новостей

Подписаться

Чтобы задать вопрос или предложить тему статьи, нажмите на кнопку ниже:

Предложить статью

Понравилась статья? Поделить с друзьями:
  • Как можно найти свое резюме на
  • Как найти корень уравнения дробь в степени
  • Как найти службу звука
  • Как найти конфиг гта 5
  • Как найти работу водителя вахтовым методом