helpf.pro
Регистрация
 +1 
Распечатать

1С 7.x : Удаление элемента справочника

Внимание!!! Непосредственное удаление справочника ведет к нарушению целостности данных. Например если удалить Контрагента по которому были сделаны документы, то в этих документах будет пустая ссылка.
Поэтому - лучше на удаляемые объекты ставить пометку на удаление, а непосредственное удаление делать встроенной функцией:
в 1С 7.7 или 8.1 - Меню-Операции - Удаление помеченных объектов.
в 1С 8.2 - Меню - Все функции... - Стандартные - Удаление помеченных объектов.
Код 1C v 8.2 УП
 &НаКлиенте
Процедура ПоКнопкеУдалитьКонтрагента(Команда)

Режим = РежимДиалогаВопрос.ДаНетОтмена;
Ответ = Вопрос("Удалить непосредственно? Да - удалить, Нет - пометка удаления",Режим, 0);

Если Ответ = КодВозвратаДиалога.Да Тогда
УдалитьКонтрагента(Элементы.СписокКонтрагентов.ТекущаяСтрока, Ложь);
ИначеЕсли Ответ = КодВозвратаДиалога.Нет Тогда
УдалитьКонтрагента(Элементы.СписокКонтрагентов.ТекущаяСтрока, Истина);
КонецЕсли;

КонецПроцедуры

&НаСервере
Процедура УдалитьКонтрагента(УдаляемыйКонтрагент, ПометкаНаУдаление)

Если ПометкаНаУдаление = Истина Тогда
УдаляемыйКонтрагент.ПолучитьОбъект().УстановитьПометкуУдаления(Истина, Истина);
Иначе
УдаляемыйКонтрагент.ПолучитьОбъект().Удалить();
КонецЕсли;

КонецПроцедуры



Код 1C v 8.х
 СпрСотр = Справочники.Сотрудники;
СпрСотр.Удалить(); //непосредственное удаление

СпрСотр.УстановитьПометкуУдаления (Истина); //пометка на удаление
СпрСотр.УстановитьПометкуУдаления (Ложь); //снять пометку на удаление

//можно проверить, помечен ли элемент на удаление
//есть свойство ПометкаУдаления, оно имеет тип Булево - Истина или Ложь
Пометка = СпрСотр.ПометкаУдаления; //обратите внимание: это свойство
Если Пометка = Истина Тогда
.....//элемент помечен на удаление
КонецЕсли;


Код 1C v 7.x
  спр=СоздатьОбъект("Справочник.Материалы");
// далее необходимо найти элемент и
// Удалить элемент справочника, на который установлена переменная спр, можно так:
спр.Удалить(1); //собственно удаление элемента

// Установить пометку на удаление элемента справочника можно так:
спр.Удалить(0); //пометка элемента на удаление
// впоследствии можно снять установленную пометку удаления
спр.СнятьПометкуУдаления();
Разместил:   Версии: | 7.x | 8.x | 8.2 УП |  Дата:   Прочитано: 86361
 +1 
Распечатать
Возможно, вас также заинтересует
Cклонения по падежам 6
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) Результат = " " ;
Выбор запросом элементов справочника и Загрузка в Документ 0
Запрос = СоздатьОбъект(" Запрос" ); ТекстЗапроса = " //{{ЗАПРОС(Сформировать) //|Период с ВыбНачПериода по ВыбКонПериода; |Обрабатывать НеПомеченныеНаУдаление; |Номенклатура = Справочник.Номенклатура.ТекущийЭлемент; |Группировка Номенклатура
Вывести все помеченные на удаление элементы справочника 0
Запрос=новый Запрос; Запрос.Текст=" |ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.ПометкаУдаления = ИСТИНА |" ; Результат = Запрос.Выполнить(); Результат = Результат.Выбрать(); Пока Ре
Как найти существующие ссылки на объекты? 9
Для 8.х НайтиПоСсылкам (FindDataByRef) Синтаксис: НайтиПоСсылкам ( Список ссылок ) Параметры: Список ссылок Обязательный Тип: Массив. Массив со списком ссылок на объекты, ссылки на которые нужно найти. Возвращаемое значение
Как удалить Файл, Каталог? 0
Функция Удаляет указанные файлы. УдалитьФайлы( Путь , Маска ) Параметры: Путь (обязательный) Тип: Строка. Путь к удаляемым файлам. Маска (необязательный) Тип: Строка. Маска для выбора удаляемых файлов. В строке маски допускается использо
Посмотреть все результаты поиска похожих
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.