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