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