УстановитьЦелевоеВремя (БСП)

Автор: 1С
ОбщийМодуль.ОценкаПроизводительности
БСП

Установить целевое время. Устанавливает ключевой операции новое целевое время.

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

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

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

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

УстановитьПарольСертификата (БСП)

УстановитьУсловноеОформлениеПоляДата (БСП)

НапомнитьВУказанноеВремя (БСП)

Функция ВремяГода(мес)

Как по GUID определить время и дату создания ссылки?

Пауза (БСП)

ЗагрузитьКурсы (БСП)

Как получить дату и время создания элемента справочника, документа по ссылке

Массив видов рабочего времени, отражающих отработанное время

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