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