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

файл

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

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

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

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

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

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
	
	Оповестить("Запись_АналитикиСтатейБюджетов", , Объект.Ссылка);

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

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

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

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

&НаКлиенте
Процедура НаименованиеПриИзменении(Элемент)
	ОбновитьПредлагаемоеЗначениеИдентификатора();
КонецПроцедуры

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

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

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

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

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

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

&НаКлиенте
Процедура ЗаполнитьИдентификаторПоПравилам(Команда)
	Объект.Идентификатор = БюджетнаяОтчетностьКлиентСервер.ПолучитьИдентификатор(Объект.Наименование);
	ДобавитьПредлагаемоеЗначениеИдентификатораВСписокВыбора();
КонецПроцедуры

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

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

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

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

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

#Область Прочее

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

&НаКлиенте
Процедура ОбновитьПредлагаемоеЗначениеИдентификатора()
	
	Если Объект.Ссылка.Пустая() Тогда
		Объект.Идентификатор = БюджетнаяОтчетностьКлиентСервер.ПолучитьИдентификатор(Объект.Наименование);
	КонецЕсли;
	ДобавитьПредлагаемоеЗначениеИдентификатораВСписокВыбора();
	
КонецПроцедуры

&НаСервере
Процедура ДобавитьПредлагаемоеЗначениеИдентификатораВСписокВыбора()
	
	Идентификатор = БюджетнаяОтчетностьКлиентСервер.ПолучитьИдентификатор(Объект.Наименование);
	Элементы.Идентификатор.СписокВыбора.Очистить();
	
	Если Не ЗначениеЗаполнено(Объект.Идентификатор) Тогда
		Объект.Идентификатор = Идентификатор;
		Модифицированность = Истина;
	ИначеЕсли Объект.Идентификатор <> Идентификатор Тогда
		Элементы.Идентификатор.СписокВыбора.Добавить(Объект.Идентификатор);
	КонецЕсли;
	
	Если НЕ ПустаяСтрока(Идентификатор) Тогда
		Элементы.Идентификатор.СписокВыбора.Добавить(Идентификатор);
	КонецЕсли;
	
КонецПроцедуры

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

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

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

&НаКлиенте
Процедура УчитыватьПоВалютеПриИзменении(Элемент)
	
	УправлениеФормой(ЭтаФорма);
	
КонецПроцедуры

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

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

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

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