
#Область ПрограммныйИнтерфейс

// Возвращает новый номер изменения для использования в РС ФиксацияИзменений
// 
// Возвращаемое значение:
//  Число - Новый номер
Функция НовыйНомерПоследнегоИзменения() Экспорт
	
	НовыйНомер = 0;
	
	НачатьТранзакцию();
	Попытка
		Блокировка = Новый БлокировкаДанных();
		ЭлементБлокировки = Блокировка.Добавить("Константа.УДК_ТекущийНомерИзменения");
		ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
		Блокировка.Заблокировать();
		
		ТекущийНомер = Константы.УДК_ТекущийНомерИзменения.Получить();
		НовыйНомер = ТекущийНомер + 1;
		Константы.УДК_ТекущийНомерИзменения.Установить(НовыйНомер);
		
		ЗафиксироватьТранзакцию();
	Исключение
		ОтменитьТранзакцию();
		ВызватьИсключение "Ошибка установки нового номера изменения";
	КонецПопытки;
	
	Возврат НовыйНомер;
	
КонецФункции

#КонецОбласти

#Область СлужебныйПрограммныйИнтерфейс

// Код процедур и функций

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

// Код процедур и функций

#КонецОбласти
