Удаление элемента справочника Внимание!!! Непосредственное удаление справочника ведет к нарушению целостности данных. Например если удалить Контрагента по которому были сделаны документы, то в этих документах будет пустая ссылка.
Поэтому - лучше на удаляемые объекты ставить пометку на удаление, а непосредственное удаление делать встроенной функцией:
в 1С 7.7 или 8.1 - Меню-Операции - Удаление помеченных объектов.
в 1С 8.2 - Меню - Все функции... - Стандартные - Удаление помеченных объектов.
Код 1C v 8.2 УП &НаКлиенте
Процедура ПоКнопкеУдалитьКонтрагента(Команда)
Режим = РежимДиалогаВопрос.ДаНетОтмена;
Ответ = Вопрос("Удалить непосредственно? Да - удалить, Нет - пометка удаления",Режим, 0);
Если Ответ = КодВозвратаДиалога.Да Тогда
УдалитьКонтрагента(Элементы.СписокКонтрагентов.ТекущаяСтрока, Ложь);
ИначеЕсли Ответ = КодВозвратаДиалога.Нет Тогда
УдалитьКонтрагента(Элементы.СписокКонтрагентов.ТекущаяСтрока, Истина);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура УдалитьКонтрагента(УдаляемыйКонтрагент, ПометкаНаУдаление)
Если ПометкаНаУдаление = Истина Тогда
УдаляемыйКонтрагент.ПолучитьОбъект().УстановитьПометкуУдаления(Истина, Истина);
Иначе
УдаляемыйКонтрагент.ПолучитьОбъект().Удалить();
КонецЕсли;
КонецПроцедуры
Код 1C v 8.х СпрСотр = Справочники.Сотрудники;
СпрСотр.Удалить(); //непосредственное удаление
СпрСотр.УстановитьПометкуУдаления (Истина); //пометка на удаление
СпрСотр.УстановитьПометкуУдаления (Ложь); //снять пометку на удаление
//можно проверить, помечен ли элемент на удаление
//есть свойство ПометкаУдаления, оно имеет тип Булево - Истина или Ложь
Пометка = СпрСотр.ПометкаУдаления; //обратите внимание: это свойство
Если Пометка = Истина Тогда
.....//элемент помечен на удаление
КонецЕсли;
Код 1C v 7.x спр=СоздатьОбъект("Справочник.Материалы");
// далее необходимо найти элемент и
// Удалить элемент справочника, на который установлена переменная спр, можно так:
спр.Удалить(1); //собственно удаление элемента
// Установить пометку на удаление элемента справочника можно так:
спр.Удалить(0); //пометка элемента на удаление
// впоследствии можно снять установленную пометку удаления
спр.СнятьПометкуУдаления();
Категория:
Справочники Задать вопрос пользователю, ответ на вопрос Код 1C v 8.2 УП Режим = РежимДиалогаВопрос.ДаНетОтмена;
Ответ = Вопрос("Выполнить?", Режим, 0);
Если Ответ =КодВозвратаДиалога.Да Тогда
Сообщить("Выполнено");
ИначеЕсли Ответ = КодВозвратаДиалога.Нет Тогда
Сообщить("Не выполнено");
КонецЕсли;
Код 1C v 8.х
Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Сохранить текст?", Режим,0) ;
Если Ответ = КодВозвратаДиалога.Нет Тогда
ТекДок.Записать(ПутьКФайлу);
КонецЕсли ;
//Свойства РежимДиалогаВопрос:
//ДаНет (YesNo)
//ДаНетОтмена (YesNoCancel)
//ОК (OK)
//ОКОтмена (OKCancel)
//ПовторитьОтмена (RetryCancel)
//ПрерватьПовторитьПропустить (AbortRetryIgnore)
//Свойства КодВозвратаДиалога:
//Да (Yes)
//Нет (No)
//ОК (OK)
//Отмена (Cancel)
//Повторить (Retry)
//Прервать (Abort)
//Пропустить (Ignore)
//Таймаут (Timeout)
Код 1C v 7.x
// Зададим вопрос, и варианты ДА, НЕТ
Рез = Вопрос("Вы получили данное сообщение?", 4);
// При нажатии Да - Рез=6, Нет- Рез=6
//Можно и так:
Если Вопрос("Сохранить?", "Да+Нет") = "Да" Тогда
ТекДок.Записать(ПутьКФайлу);
КонецЕсли;
//Вопрос(Текст_вопроса, Режим, Таймаут) - Вывести окно вопроса и получить ответ.
//Возвращает ответную реакцию в виде числа или строки, в соответствии с заданием параметра <Режим>:
//-1 или 'Таймаут' ('Timeout'), если закончилось время ожидания ответа;
//1 или 'ОК' ('ОК'), если если нажата кнопка OK;
//2 или 'Отмена' ('Cancel'), если нажата кнопка Отмена;
//3 или 'Стоп' ('Abort'), если нажата кнопка Стоп;
//4 или 'Повтор' ('Retry'), если нажата кнопка Повтор;
//5 или 'Пропустить' ('Ignore'), если нажата кнопка Пропустить;
//6 или 'Да' ('Yes'), если нажата кнопка Да;
//7 или 'Нет' ('No'), если нажата кнопка Нет.
//
//Параметры:
//Текст_вопроса - cтрока текста вопроса;
//Режим - определяет набор кнопок диалога в виде числа или строки (в скобках английское написание):
// 0 или 'ОК' ('ОК') - кнопка OK;
// 1 или 'ОК+Отмена' ('OK+Cancel') - кнопки OK и Отмена;
// 2 или 'Стоп+Повтор+Пропустить' ('Abort+Retry+Ignore') - кнопки Стоп, Повтор, Пропустить;
// 3 или 'Да+Нет+Отмена' ('Yes+No+Cancel') - кнопки Да, Нет, Отмена;
// 4 или 'Да+Нет' ('Yes+No') - кнопки Да, Нет;
// 5 или 'Повтор+Отмена' ('Retry+Cancel') - кнопки Повтор, Отмена;
// (любое другое значение или отсутствие параметра равносильно 0);
//Таймаут - число секунд времени ожидания ответа (если опущен или 0, то без ограничения).
Категория:
Встроенные Функции