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