УстановитьСнятьПометкуУдаленияЗаметок (БСП)

Автор: 1С
ОбщийМодуль.ЗаметкиПользователяСлужебный
БСП

Установить снять пометку удаления заметок.

Процедура УстановитьСнятьПометкуУдаленияЗаметок(Источник, Отказ) Экспорт
	
	Если Источник.ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;
	
	ПометкаУдаления = Источник.ПометкаУдаления;
	Если Не ПометкаУдаления И Не Источник.ДополнительныеСвойства.Свойство("СнятаПометкаУдаления") Тогда
		Возврат;
	КонецЕсли;
	
	ТекстЗапроса =
	"ВЫБРАТЬ
	|	Заметки.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.Заметки КАК Заметки
	|ГДЕ
	|	Заметки.ПометкаУдаления = &ПометкаУдаления
	|	И &ПолеВладельца = &Владелец";
	
	ПолеВладельца = "Заметки.Предмет";
	Если ТипЗнч(Источник) = Тип("СправочникОбъект.Пользователи") 
		И (ПометкаУдаления Или Источник.ДополнительныеСвойства.Свойство("СнятаПометкаУдаления")) Тогда
			ПолеВладельца = "Заметки.Автор";
	КонецЕсли;
	
	ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "&ПолеВладельца", ПолеВладельца);
	
	Запрос = Новый Запрос(ТекстЗапроса);
	Запрос.УстановитьПараметр("Владелец", Источник.Ссылка);
	Запрос.УстановитьПараметр("ПометкаУдаления", Не ПометкаУдаления);
	
	УстановитьПривилегированныйРежим(Истина);
	
	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		ЗаметкаОбъект = Выборка.Ссылка.ПолучитьОбъект();
		ЗаметкаОбъект.УстановитьПометкуУдаления(ПометкаУдаления, Ложь);
		ЗаметкаОбъект.ДополнительныеСвойства.Вставить("ПометкаУдаленияЗаметки", Истина);
		Попытка
			ЗаметкаОбъект.Записать();
		Исключение
			ТекстОшибки = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
			ЗаписьЖурналаРегистрации(НСтр("ru = 'Заметки пользователя.Изменение пометки удаления'", ОбщегоНазначения.КодОсновногоЯзыка()),
				УровеньЖурналаРегистрации.Ошибка, ЗаметкаОбъект.Метаданные(), ЗаметкаОбъект.Ссылка, ТекстОшибки);
		КонецПопытки;
	КонецЦикла;
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

УстановитьСтатусИзмененияПометкиУдаления (БСП)

УстановитьПометкуУдаленияЗадач (БСП)

УстановитьСтатусИзмененияПометкиУдаленияДокумента (БСП)

УстановитьСтатусИзмененияПометкиУдаленияОбъекта (БСП)

УстановитьПометкуУдаленияУВложенийПисьма (БСП)

УстановитьПапкуДляМассиваПисем (БСП)

УстановитьПометкуУдаленияФайловДокументовПередЗаписью (БСП)

УстановитьПометкуУдаленияФайловПередЗаписью (БСП)

TurboConf - расширение Конфигуратора 1С