Модели бюджетирования / Форма элемента / Модуль формы

файл

#Область ОбработчикиСобытийФормы

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)

	// СтандартныеПодсистемы.РаботаСФайлами
	РаботаСФайламиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия);
	// Конец СтандартныеПодсистемы.РаботаСФайлами

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


&НаКлиенте
Процедура ПриОткрытии(Отказ)

	// СтандартныеПодсистемы.РаботаСФайлами
	РаботаСФайламиКлиент.ПриОткрытии(ЭтотОбъект, Отказ);
	// Конец СтандартныеПодсистемы.РаботаСФайлами

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


&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	
	Если Параметры.Свойство("АвтоТест") Тогда // Возврат при получении формы для анализа.
		Возврат;
	КонецЕсли;
	
	Если Параметры.Свойство("ЗначениеКопирования") Тогда
		МодельКопирования = Параметры.ЗначениеКопирования;
	КонецЕсли;


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

	АвтоматическиФормироватьЗадачи = Объект.АвтоматическиФормироватьЗадачи;
	
	СобытияФорм.ПриСозданииНаСервере(ЭтаФорма, Отказ, СтандартнаяОбработка);

	Если Не Пользователи.ЭтоПолноправныйПользователь(, Истина)
	 ИЛИ Не ЭтоУправлениеПредприятием Тогда
		Элементы.НадписьРасписание.Видимость = Ложь;
	КонецЕсли;
	
	// СтандартныеПодсистемы.РаботаСФайлами
	ПараметрыГиперссылки = РаботаСФайлами.ГиперссылкаФайлов();
	ПараметрыГиперссылки.Размещение = "КоманднаяПанель";
	РаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыГиперссылки);
	// Конец СтандартныеПодсистемы.РаботаСФайлами

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

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
	
	ОбновитьИнтерфейс();
	
	МодификацияКонфигурацииКлиентПереопределяемый.ПослеЗаписи(ЭтаФорма, ПараметрыЗаписи);
		
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)

	ТекущийОбъект.АвтоматическиФормироватьЗадачи = АвтоматическиФормироватьЗадачи;
	
	
	МодификацияКонфигурацииПереопределяемый.ПередЗаписьюНаСервере(ЭтаФорма, Отказ, ТекущийОбъект, ПараметрыЗаписи);

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

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)

	МодификацияКонфигурацииПереопределяемый.ПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);

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

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
	
	// СтандартныеПодсистемы.ЗапретРедактированияРеквизитовОбъектов
	ЗапретРедактированияРеквизитовОбъектов.ЗаблокироватьРеквизиты(ЭтаФорма);
	УстановитьДоступностьЭлементовФормы();
	// Конец СтандартныеПодсистемы.ЗапретРедактированияРеквизитовОбъектов
	
	МодификацияКонфигурацииПереопределяемый.ПослеЗаписиНаСервере(ЭтаФорма, ТекущийОбъект, ПараметрыЗаписи);

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

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

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

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

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

#КонецОбласти

#Область ОбработчикиСобытийЭлементовШапкиФормы

&НаКлиенте
Процедура ФормироватьЗадачиАвтоматическиПриИзменении(Элемент)
	УправлениеФормой(ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура ЗапускатьДокументомПриИзменении(Элемент)
	УправлениеФормой(ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура СтатусПриИзменении(Элемент)
	УправлениеФормой(ЭтотОбъект);
КонецПроцедуры

&НаКлиенте
Процедура КомментарийНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	ОбщегоНазначенияКлиент.ПоказатьФормуРедактированияКомментария(
		Элемент.ТекстРедактирования, 
		ЭтотОбъект, 
		"Объект.Комментарий");
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиКомандФормы

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_КомандаПанелиПрисоединенныхФайлов(Команда)
	РаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	РаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
	РаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

// СтандартныеПодсистемы.РаботаСФайлами
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраНажатие(Элемент, СтандартнаяОбработка)
	РаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
// Конец СтандартныеПодсистемы.РаботаСФайлами

&НаКлиенте
Процедура Подключаемый_РазрешитьРедактированиеРеквизитовОбъекта(Команда)
	
	ПараметрыПроцедуры = ОбщегоНазначенияУТКлиент.ПараметрыРазрешенияРедактированияРеквизитовОбъекта();
	ПараметрыПроцедуры.ОповещениеОРазблокировке = Новый ОписаниеОповещения("ОповещениеОРазблокировке", ЭтаФорма);
	ОбщегоНазначенияУТКлиент.РазрешитьРедактированиеРеквизитовОбъекта(ЭтаФорма, ПараметрыПроцедуры);
	
КонецПроцедуры

&НаКлиенте
Процедура УстановитьИнтервал(Команда)
	
	ОбщегоНазначенияУТКлиент.РедактироватьПериод(Объект, 
		Новый Структура("ДатаНачала, ДатаОкончания", "НачалоДействия", "КонецДействия"));
	
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
	
	СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтаФорма, Команда);
	
КонецПроцедуры

#КонецОбласти

#Область СлужебныеПроцедурыИФункции

&НаКлиенте
Процедура ОповещениеОРазблокировке(Результат, ДополнительныеПараметры) Экспорт
	
	УстановитьДоступностьЭлементовФормы();
	
КонецПроцедуры

&НаСервере
Процедура УстановитьДоступностьЭлементовФормы()
	
	// Механизм блокировки заблокировал реквизиты
	Элементы.УстановитьИнтервал.Доступность = Не Элементы.НачалоДействия.ТолькоПросмотр;
	Элементы.ФормироватьЗадачиАвтоматически.ТолькоПросмотр = Элементы.НачалоДействия.ТолькоПросмотр;
	Элементы.ЗапускатьДокументом.ТолькоПросмотр = Элементы.НачалоДействия.ТолькоПросмотр;
	
	УправлениеФормой(ЭтотОбъект);
	
КонецПроцедуры

&НаКлиентеНаСервереБезКонтекста
Процедура УправлениеФормой(Форма)
	Объект = Форма.Объект;
	Элементы = Форма.Элементы;
	
	СтатусДействует = ПредопределенноеЗначение("Перечисление.СтатусыМоделейБюджетирования.Действует");
	// Доступно редактирование расписание, или когда регламентное задание уже создано
	// или установлены настройки, при которых регламентное задание будет создано, а модель - записана.
	ДоступноРедактированиеРасписания = ЗначениеЗаполнено(Объект.РегламентноеЗадание)
	                               ИЛИ (Форма.АвтоматическиФормироватьЗадачи
	                                 И Объект.Статус = СтатусДействует
	                                 И НЕ Объект.ПометкаУдаления);
	Элементы.НадписьРасписание.Доступность = ДоступноРедактированиеРасписания;
КонецПроцедуры


&НаКлиенте
Процедура НастроитьРасписаниеЗавершение(Расписание1, ДополнительныеПараметры) Экспорт
	
	
КонецПроцедуры

&НаКлиенте
Процедура ВопросКопироватьВидыЭтапыМоделиЗавершение(РезультатВопроса, ЗакрыватьФорму = Ложь) Экспорт
		
	Если Не РезультатВопроса = КодВозвратаДиалога.Да Тогда
		МодельКопирования = Неопределено;
		Если ЗакрыватьФорму Тогда
			Закрыть();
		КонецЕсли;
		Возврат;
	КонецЕсли;
	
	СписокПараметров = Новый Структура;
	СписокПараметров.Вставить("МодельКопирования", МодельКопирования);
	СписокПараметров.Вставить("МодельБюджетирования", Объект.Ссылка);
		
	МодельКопирования = Неопределено;
		
	Оповещение = Новый ОписаниеОповещения("ПриЗакрытииФормыКопирования", ЭтаФорма, ЗакрыватьФорму);
	ОткрытьФорму("Справочник.МоделиБюджетирования.Форма.ФормаКопирования", СписокПараметров, ЭтаФорма, , , , Оповещение);

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

&НаКлиенте
Процедура ПриЗакрытииФормыКопирования(Результат, ЗакрыватьФорму) Экспорт
	
	Если ЗакрыватьФорму Тогда
		Закрыть();
	КонецЕсли;
	
КонецПроцедуры

#КонецОбласти

Связанные материалы