Удаление элемента справочника Внимание!!! Непосредственное удаление справочника ведет к нарушению целостности данных. Например если удалить Контрагента по которому были сделаны документы, то в этих документах будет пустая ссылка.
Поэтому - лучше на удаляемые объекты ставить пометку на удаление, а непосредственное удаление делать встроенной функцией:
в 1С 7.7 или 8.1 - Меню-Операции - Удаление помеченных объектов.
в 1С 8.2 - Меню - Все функции... - Стандартные - Удаление помеченных объектов.
Код 1C v 8.2 УП &НаКлиенте
Процедура ПоКнопкеУдалитьКонтрагента(Команда)
Режим = РежимДиалогаВопрос.ДаНетОтмена;
Ответ = Вопрос("Удалить непосредственно? Да - удалить, Нет - пометка удаления",Режим, 0);
Если Ответ = КодВозвратаДиалога.Да Тогда
УдалитьКонтрагента(Элементы.СписокКонтрагентов.ТекущаяСтрока, Ложь);
ИначеЕсли Ответ = КодВозвратаДиалога.Нет Тогда
УдалитьКонтрагента(Элементы.СписокКонтрагентов.ТекущаяСтрока, Истина);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УдалитьКонтрагента(УдаляемыйКонтрагент, ПометкаНаУдаление)
Если ПометкаНаУдаление = Истина Тогда
УдаляемыйКонтрагент.ПолучитьОбъект().УстановитьПометкуУдаления(Истина, Истина);
Иначе
УдаляемыйКонтрагент.ПолучитьОбъект().Удалить();
КонецЕсли;
КонецПроцедуры
Код 1C v 8.х СпрСотр = Справочники.Сотрудники;
СпрСотр.Удалить(); //непосредственное удаление
СпрСотр.УстановитьПометкуУдаления (Истина); //пометка на удаление
СпрСотр.УстановитьПометкуУдаления (Ложь); //снять пометку на удаление
//можно проверить, помечен ли элемент на удаление
//есть свойство ПометкаУдаления, оно имеет тип Булево - Истина или Ложь
Пометка = СпрСотр.ПометкаУдаления; //обратите внимание: это свойство
Если Пометка = Истина Тогда
.....//элемент помечен на удаление
КонецЕсли;
Код 1C v 7.x спр=СоздатьОбъект("Справочник.Материалы");
// далее необходимо найти элемент и
// Удалить элемент справочника, на который установлена переменная спр, можно так:
спр.Удалить(1); //собственно удаление элемента
// Установить пометку на удаление элемента справочника можно так:
спр.Удалить(0); //пометка элемента на удаление
// впоследствии можно снять установленную пометку удаления
спр.СнятьПометкуУдаления();
Категория:
Справочники