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