1с удалить элемент справочника программно
Нужно удалить элементы справочника, которые образовались при обмене, они пустые все, и их много.
Сделаю выборку элементов, поставлю условие. Далее как удалить?
А чем не подходит типовая обработка из конфигурации "Групповая обработка справочников и документов"?
Выбираешь нужный вид справочника. Отбираешь по нужному(нужным) реквизитам "на пустоту". Ставишь отметку удаления.
По сути вопроса:
1) Объект.ПометкаУдаления - пометить на удаление
2) Объект.Удалить() - удалить непосредственно
1) СправочникОбъект..ПометкаУдаления (CatalogObject..DeletionMark)
СправочникОбъект. (CatalogObject.)
ПометкаУдаления (DeletionMark)
Использование:
Чтение и запись.
Описание:
Тип: Булево.
Содержит признак пометки на удаление элемента справочника.
Истина - пометка удаления установлена.
Доступность:
Сервер, толстый клиент, внешнее соединение.
2) СправочникОбъект..Удалить (CatalogObject..Delete)
СправочникОбъект. (CatalogObject.)
Удалить (Delete)
Синтаксис:
Удалить()
Описание:
Удаляет элемент справочника из базы данных.
Важно! В отличие от метода УстановитьПометкуУдаления, данный метод производит непосредственное удаление элемента справочника без возможности восстановления и без проверки ссылочной целостности. Использовать данный метод нужно крайне осмотрительно.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Примечание:
Для иерархического справочника также удаляются все подчиненные элементы.
Пример:
Объект.Удалить();
(3) AnryMc, Как поставить условие, что если элементы выборки пустые, то.
Вот код
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Номенклатура.Наименование
|ИЗ
| Справочник.Номенклатура КАК Номенклатура";
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Если ВыборкаДетальныеЗаписи.Наименование. ПустаяСсылка() Тогда
ВыборкаО = ВыборкаДетальныеЗаписи.ПолучитьОбъект();
ВыборкаО.Удалить();
Внимание. Непосредственное удаление справочника ведет к нарушению целостности данных. Например если удалить Контрагента по которому были сделаны документы, то в этих документах будет пустая ссылка.
Поэтому - лучше на удаляемые объекты ставить пометку на удаление, а непосредственное удаление делать встроенной функцией:
в 1С 7.7 или 8.1 - Меню-Операции - Удаление помеченных объектов.
в 1С 8.2 - Меню - Все функции. - Стандартные - Удаление помеченных объектов.
Код 1C v 8.2 УП
Код 1C v 8.х
Похожие FAQ
Еще в этой же категории
Создание и запись нового элемента справочника 14
НаКлиенте Процедура ПоКнопкеНовыйКонтрагент(Команда) // Вставить содержимое обработчика. Перем НовыйКонтрагент; НовыйКонтрагент = Новый Структура(" Наименование, ПолноеНаименование, ИНН" ); НовыйКонтрагент.Наименование = " РиК ООО" ; НовыйКон Как для Выбора Элемента Справочника Открыть Форму Выбора с нужной Открытой Группой? 8
Порядок действий такой: 1. В поле ввода " Номенклатура" добавь событие ПриНачалеВыбора. 2. Установи в них СтандартнаяОбработка = Ложь; 3. Получи форму выбора нужного справочника 4. Установи отбор по родителю 5. Открой форму для выбора Теп Перебрать, выбрать элементы справочника 7
Выборка = Справочники.Сотрудники.Выбрать(); //или Выборка = Справочники.Сотрудники.ВыбратьИерархически(); Пока выборка.Следующий() = 1 Цикл . //действия с очередным элементом . Сообщить(" Сотрудник " + выборка.Наименование); КонецЦикла; / Перебрать, выбрать элементы подчиненного справочника 7
Перебор элементов справочника принадлежащих элементу другого справочника, т.е когда один справочник подчинен другому справочнику. // Получить выборку по указанному контрагенту. Выборка = Справочники.КонтактныеЛица.Выбрать( , Контрагент); Пока Вы Как программно открыть и выбрать элемент справочника, выбор элемента справочника? 7
Просто открыть: // Получить форму выбора справочника как подчиненную форме документа ФормаСписка = Справочники.Номенклатура.ПолучитьФормуСписка( , ЭтаФорма); // Открыть полученную форму ФормаСписка.Открыть(); Открыть для выбора элемента: Ф Посмотреть все в категории Справочники
Внимание. Непосредственное удаление справочника ведет к нарушению целостности данных. Например если удалить Контрагента по которому были сделаны документы, то в этих документах будет пустая ссылка.
Поэтому - лучше на удаляемые объекты ставить пометку на удаление, а непосредственное удаление делать встроенной функцией:
в 1С 7.7 или 8.1 - Меню-Операции - Удаление помеченных объектов.
в 1С 8.2 - Меню - Все функции. - Стандартные - Удаление помеченных объектов.
Код 1C v 8.2 УП
Код 1C v 8.х
Похожие FAQ
Cодержимое указанного ниже веб-сайта в этом приложении блокируется. Aboutsecurity_1cv8c.exe 1
Проблема: После обновления на 1С:Бухгалтерию предприятия 3-й версии, при нажатии на закладку командного интерфейса 1С:предприятие, выскакивает ошибка: Aboutsecurity_1cv8c.exe или Aboutsecurity_1cv8.exe «Содержимое указанного ниже веб-узла в э Как изменять записи регистра накопления? 5
Основной шаблон такой: Набор = РегистрыНакопления.ВашРегистр.СоздатьНаборЗаписей(); Набор.Отбор. НазваниеОтбора .Установить( ЗначениеОтбора ); Набор.Прочитать(); Для Каждого ТекДвижение Из Набор Цикл //Делаете с записями регистра то - что вам Настройка автоматического резервного копирования 1С:Предприятия с помощью Effector saver 6
Effector saver - это специализированная программа для автоматического резервного копирования 1С:Предприятия.Программа позволяет создавать резервные копии баз данных 1С:Предприятия, баз Microsoft SQL или PostgreSQL серверов, пользовательских папок и Обработка файлов в папке и запись дополнительной информации в них 4
Частенько при загрузке данных в 1С сталкиваешься с необходимостью дополнительной обработки загружаемых файлов. Возможно это добавление какой-либо информации или наоборот удаление, а может изменение. Ниже приведен код, который обрабатывает файлы в Объектная модель схемы запроса 5
Периодически во встроенном языке возникает необходимость изменения текста запроса в зависимости от разных алгоритмических условий. Раньше подобная задача решалась путем непосредственного формирования нужного текста запроса в виде строки. А это не вс Посмотреть все результаты поиска похожих
Еще в этой же категории
Как очистить справочник удалив все не используемые элементы? 0
Очень часто менеджеры дублируют информацию в справочниках и время от времени их приходится чистить. Но как удалить только те элементы справочника, которые не используются в документах? Следующий пример кода поможет это сделать(в примере обрабатыва Вывод в поле Наименование справочника Штатное список значений из справочника Подразделения? 0
Есть два справочника Штатное и Подразделения. В справочнике Штатное есть автоматически генерируемое поле Наименование. Как программно сделать так чтобы в поле Наименование справочника Штатное выводились списком значений из поля Наименование справочн Посмотреть все в категории Справочники
Внимание. Непосредственное удаление справочника ведет к нарушению целостности данных. Например если удалить Контрагента по которому были сделаны документы, то в этих документах будет пустая ссылка.
Поэтому - лучше на удаляемые объекты ставить пометку на удаление, а непосредственное удаление делать встроенной функцией:
в 1С 7.7 или 8.1 - Меню-Операции - Удаление помеченных объектов.
в 1С 8.2 - Меню - Все функции. - Стандартные - Удаление помеченных объектов.
Код 1C v 8.2 УП
Код 1C v 8.х
Похожие FAQ
Еще в этой же категории
Создание и запись нового элемента справочника 14
НаКлиенте Процедура ПоКнопкеНовыйКонтрагент(Команда) // Вставить содержимое обработчика. Перем НовыйКонтрагент; НовыйКонтрагент = Новый Структура(" Наименование, ПолноеНаименование, ИНН" ); НовыйКонтрагент.Наименование = " РиК ООО" ; НовыйКон Как для Выбора Элемента Справочника Открыть Форму Выбора с нужной Открытой Группой? 8
Порядок действий такой: 1. В поле ввода " Номенклатура" добавь событие ПриНачалеВыбора. 2. Установи в них СтандартнаяОбработка = Ложь; 3. Получи форму выбора нужного справочника 4. Установи отбор по родителю 5. Открой форму для выбора Теп Поиск элемента, найти элемент справочника 5
НаКлиенте Процедура ПоКнопкеНайти(Команда) // Вставить содержимое обработчика. Сообщить(НайтиКонтрагента(" 000000001" )); КонецПроцедуры НаСервере Функция НайтиКонтрагента(КодКонтрагента) Перем КонрагентДляПоиска, СсылкаНайденногоКонрагента Подбор из справочника на основе управляемых форм 2
В данной статье рассматривается технология реализации подбора на платформе 1С 8.2. Статья не претендует на академизм, просто столкнувшись с рядом проблем и не нашедшим «правильной» методологии решения (возможно плохо искал), решил пройти этот путь с Как установить префикс нумерации справочника? 2
УстановитьНовыйКод( ПрефиксКода ) Параметры: ПрефиксКода (необязательный) Тип: Строка. Строковое значение префикса. Если префикс указан, то новый код будет формироваться с учетом префикса. Описание: Устанавливает новый код. Если в коде Посмотреть все в категории Справочники
В этой статье узнаем как осуществляется удаление в 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
Если Вам понравился этот урок, был полезен или помог решить какую-нибудь проблему, то Вы можете поддержать мой проект, перечислив любую сумму.
Читайте также:
- Программа для записи телефонных разговоров на андроид самсунг а31
- Как в 1с поменять интерфейс на такси
- Как называется программа в первом секторе диска которая загружает в память ядро операционной системы
- Как настроить биос чтобы компьютер включался при подаче питания
- Как отформатировать таблицу в excel по одному столбцу