Загрузка данных


Процедура ОбработкаПроведения(Отказ, РежимПроведения)

	// ПРОВЕРКА 1: окончание должно быть позже начала
	Если Окончание <= Начало Тогда
		Сообщить("Окончание должно быть позже начала");
		Отказ = Истина;
		Возврат;
	КонецЕсли;

	// ПРОВЕРКА 2: нет ли уже брони этой комнаты на это время
	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	Занятость.Регистратор КАК Бронь
	|ИЗ
	|	РегистрСведений.ЗанятостьПереговорных КАК Занятость
	|ГДЕ
	|	Занятость.Переговорная = &Переговорная
	|	И Занятость.Начало < &Окончание
	|	И Занятость.Окончание > &Начало
	|	И Занятость.Регистратор <> &Ссылка";
	Запрос.УстановитьПараметр("Переговорная", Переговорная);
	Запрос.УстановитьПараметр("Начало", Начало);
	Запрос.УстановитьПараметр("Окончание", Окончание);
	Запрос.УстановитьПараметр("Ссылка", Ссылка);

	Если НЕ Запрос.Выполнить().Пустой() Тогда
		Сообщить("Переговорная занята на это время");
		Отказ = Истина;
		Возврат;
	КонецЕсли;

	// Если обе проверки пройдены, записываем бронь в регистр
	Движения.ЗанятостьПереговорных.Записывать = Истина;
	Запись = Движения.ЗанятостьПереговорных.Добавить();
	Запись.Переговорная = Переговорная;
	Запись.Начало = Начало;
	Запись.Окончание = Окончание;
	Запись.Бронь = Ссылка;

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