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