#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
УстановитьУсловноеОформление();
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(Объект, ЭтотОбъект);
Если Не ЗначениеЗаполнено(Объект.Ссылка) Тогда
ПриЧтенииСозданииНаСервере();
КонецЕсли;
ПараметрыВыбораСтатейИАналитик = Документы.ПринятиеКУчетуОС2_4.ПараметрыВыбораСтатейИАналитик();
ДоходыИРасходыСервер.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыВыбораСтатейИАналитик);
#Область СтандартныеПодсистемы
ВерсионированиеОбъектов.ПриСозданииНаСервере(ЭтотОбъект);
ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект);
ПараметрыЭДОПриСоздании = ОбменСКонтрагентами.ПараметрыПриСозданииНаСервере_ФормаДокумента();
ПараметрыЭДОПриСоздании.Форма = ЭтотОбъект;
ПараметрыЭДОПриСоздании.ДокументСсылка = Объект.Ссылка;
ПараметрыЭДОПриСоздании.МестоРазмещенияКоманд = Элементы.ПодменюЭДО;
ПараметрыЭДОПриСоздании.КонтроллерСостояниеЭДО = Элементы.ДекорацияСостояниеЭДО;
ПараметрыЭДОПриСоздании.ГруппаСостояниеЭДО = Элементы.ГруппаСостояниеЭДО;
ОбменСКонтрагентами.ПриСозданииНаСервере_ФормаДокумента(ПараметрыЭДОПриСоздании);
Элементы.ДекорацияСостояниеЭДО.Видимость = ПолучитьФункциональнуюОпцию("ИспользоватьОбменЭД");
ГиперссылкаФайлов = РаботаСФайлами.ГиперссылкаФайлов();
ГиперссылкаФайлов.Размещение = "КоманднаяПанель";
РаботаСФайлами.ПриСозданииНаСервере(ЭтотОбъект, ГиперссылкаФайлов);
ОбщегоНазначенияУТ.НастроитьПодключаемоеОборудование(ЭтотОбъект);
СобытияФорм.ПриСозданииНаСервере(ЭтотОбъект, Отказ, СтандартнаяОбработка);
#КонецОбласти
ИнтеграцияС1СДокументооборотБазоваяФункциональность.ПриСозданииНаСервере(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
МенеджерОборудованияКлиент.НачатьПодключениеОборудованиеПриОткрытииФормы(Неопределено, ЭтотОбъект, "СканерШтрихкода");
ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
ОбменСКонтрагентамиКлиент.ПриОткрытии(ЭтотОбъект);
РаботаСФайламиКлиент.ПриОткрытии(ЭтотОбъект, Отказ);
КонецПроцедуры
&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
МенеджерОборудованияКлиент.НачатьОтключениеОборудованиеПриЗакрытииФормы(Неопределено, ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
УправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
ПриЧтенииСозданииНаСервере();
ПараметрыВыбораСтатейИАналитик = Документы.ПринятиеКУчетуОС2_4.ПараметрыВыбораСтатейИАналитик();
ДоходыИРасходыСервер.ПриЧтенииНаСервере(ЭтотОбъект, ПараметрыВыбораСтатейИАналитик);
СобытияФорм.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
ПараметрыЭДОПриСоздании = ОбменСКонтрагентами.ПараметрыПриЧтенииНаСервере_ФормаДокумента();
ПараметрыЭДОПриСоздании.Форма = ЭтотОбъект;
ПараметрыЭДОПриСоздании.ДокументСсылка = Объект.Ссылка;
ПараметрыЭДОПриСоздании.МестоРазмещенияКоманд = Элементы.ПодменюЭДО;
ПараметрыЭДОПриСоздании.КонтроллерСостояниеЭДО = Элементы.ДекорацияСостояниеЭДО;
ПараметрыЭДОПриСоздании.ГруппаСостояниеЭДО = Элементы.ГруппаСостояниеЭДО;
ОбменСКонтрагентами.ПриЧтенииНаСервере_ФормаДокумента(ПараметрыЭДОПриСоздании);
КонецПроцедуры
&НаКлиенте
Процедура ПередЗаписью(Отказ, ПараметрыЗаписи)
СобытияФормКлиент.ПередЗаписью(ЭтотОбъект, Отказ, ПараметрыЗаписи);
КонецПроцедуры
&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
МодификацияКонфигурацииПереопределяемый.ПередЗаписьюНаСервере(ЭтотОбъект, Отказ, ТекущийОбъект, ПараметрыЗаписи);
ИнтеграцияС1СДокументооборотБазоваяФункциональность.ПередЗаписьюНаСервере(
ЭтотОбъект,
ТекущийОбъект,
ПараметрыЗаписи);
КонецПроцедуры
&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
ПараметрыЗаписи.Вставить("КлючиДокументаОповещение", РаботаСЖурналамиДокументовКлиент.ПолучитьПараметрыКлючаПоДокументу(
Объект.Ссылка, Объект.Дата, Объект.ХозяйственнаяОперация));
Оповестить("Запись_ПринятиеКУчетуОС2_4", ПараметрыЗаписи, Объект.Ссылка);
ОбщегоНазначенияУТКлиент.ОповеститьОЗаписиДокументаВЖурнал();
ВнеоборотныеАктивыКлиент.ОповеститьОЗаписиДокументаВЖурналОС();
Если Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПринятиеКУчетуОСпоИнвентаризации") Тогда
Оповестить("ЗаписьДокументаНаОснованииИнвентаризации",, Объект.Ссылка);
КонецЕсли;
ОбменСКонтрагентамиКлиент.ПослеЗаписи_ФормаДокумента(ЭтотОбъект, ПараметрыЗаписи);
МодификацияКонфигурацииКлиентПереопределяемый.ПослеЗаписи(ЭтотОбъект, ПараметрыЗаписи);
ОбщегоНазначенияУТКлиент.ВыполнитьДействияПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
ЗаполнитьИнформациюВПодвале();
ЗаполнитьДоговорВТабличнойЧасти();
УправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
ПараметрыПослеЗаписи = ОбменСКонтрагентами.ПараметрыПослеЗаписиНаСервере();
ПараметрыПослеЗаписи.Форма = ЭтотОбъект;
ПараметрыПослеЗаписи.ДокументСсылка = Объект.Ссылка;
ПараметрыПослеЗаписи.КонтроллерСостояниеЭДО = Элементы.ДекорацияСостояниеЭДО;
ПараметрыПослеЗаписи.ГруппаСостояниеЭДО = Элементы.ГруппаСостояниеЭДО;
ОбменСКонтрагентами.ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи, ПараметрыПослеЗаписи);
Элементы.СтраницаКомментарий.Картинка = ОбщегоНазначенияКлиентСервер.КартинкаКомментария(Объект.Комментарий);
ПринятиеКУчетуОСЛокализация.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
ДоходыИРасходыСервер.ПослеЗаписиНаСервере(ЭтотОбъект);
МодификацияКонфигурацииПереопределяемый.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
СобытияФорм.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "Запись_ПринятиеКУчетуОС2_4"
И Источник <> Объект.Ссылка Тогда
ЗаполнитьИнформациюВПодвале();
ИначеЕсли ИмяСобытия = "Запись_КорректировкаСтоимостиИАмортизацииОС"
И Источник <> Объект.Ссылка Тогда
НастроитьЗависимыеЭлементыФормы("Запись_КорректировкаСтоимостиИАмортизацииОС");
КонецЕсли;
Если Источник = "ПодключаемоеОборудование" И ВводДоступен() Тогда
Если ИмяСобытия = "ScanData" И МенеджерОборудованияУТКлиент.ЕстьНеобработанноеСобытие() Тогда
ОбработатьШтрихкоды(МенеджерОборудованияУТКлиент.ПреобразоватьДанныеСоСканераВСтруктуру(Параметр));
КонецЕсли;
КонецЕсли;
ПараметрыОповещения = ОбменСКонтрагентамиКлиент.ПараметрыОповещенияЭДО_ФормаДокумента();
ПараметрыОповещения.Форма = ЭтотОбъект;
ПараметрыОповещения.ДокументСсылка = Объект.Ссылка;
ПараметрыОповещения.КонтроллерСостояниеЭДО = Элементы.ДекорацияСостояниеЭДО;
ПараметрыОповещения.ГруппаСостояниеЭДО = Элементы.ГруппаСостояниеЭДО;
ОбменСКонтрагентамиКлиент.ОбработкаОповещения_ФормаДокумента(ИмяСобытия, Параметр, Источник, ПараметрыОповещения);
СобытияФормКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
РаботаСФайламиКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия);
КонецПроцедуры
&НаКлиенте
Процедура ОбработкаНавигационнойСсылки(НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
ПринятиеКУчетуОСКлиентЛокализация.ОбработкаНавигационнойСсылки(
ЭтотОбъект, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
#Область СтраницаОсновное
&НаКлиенте
Процедура ДатаПриИзменении(Элемент)
ВнеоборотныеАктивыКлиент.УстановитьТекущееВремяДляПрошлойДаты(Объект.Дата);
НастроитьЗависимыеЭлементыФормы("Дата");
КонецПроцедуры
&НаКлиенте
Процедура РежимИсправленияСПрошлойДатыПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормы(Элемент.Имя);
КонецПроцедуры
&НаКлиенте
Процедура ВариантОтраженияВУчетеПриИзменении(Элемент)
ВариантОтраженияВУчетеПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ХозяйственнаяОперацияПриИзменении(Элемент)
Объект.ДокументОснование = Неопределено;
Объект.ДокументНаОсновании = Ложь;
НастроитьЗависимыеЭлементыФормы("ХозяйственнаяОперация");
КонецПроцедуры
&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
ОрганизацияПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура МестонахождениеПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормы(Элемент.Имя);
КонецПроцедуры
&НаКлиенте
Процедура ДоговорПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормы("Договор");
КонецПроцедуры
&НаКлиенте
Процедура ЧастичныйВводВЭксплуатациюПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормы("ЧастичныйВводВЭксплуатацию");
КонецПроцедуры
&НаКлиенте
Процедура ВидАналитикиРасходовОсновныеСредстваПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормы("ВидАналитикиКапитализацииРасходов");
КонецПроцедуры
&НаКлиенте
Процедура ВидАналитикиРасходовОбъектыСтроительстваПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормы("ВидАналитикиКапитализацииРасходов");
КонецПроцедуры
&НаКлиенте
Процедура АдресМестонахожденияПриИзменении(Элемент)
ПриИзмененииПредставленияАдреса(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура АдресМестонахожденияНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ВнеоборотныеАктивыКлиент.ОткрытьФормуВыбораАдресаИОбработатьРезультат(
ЭтотОбъект,
Элемент,
Объект,,
СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура АдресМестонахожденияОчистка(Элемент, СтандартнаяОбработка)
ПриИзмененииПредставленияАдреса(Элемент);
КонецПроцедуры
&НаКлиенте
Процедура ИнформацияОДокументеВДругомУчетеОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
Если НавигационнаяСсылкаФорматированнойСтроки = "#СоздатьДокумент" Тогда
СтандартнаяОбработка = Ложь;
ПараметрыФормы = Новый Структура("Основание", Объект.Ссылка);
ОткрытьФорму("Документ.ПринятиеКУчетуОС2_4.ФормаОбъекта", ПараметрыФормы);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ДокументНаОснованииПриИзменении(Элемент)
Если НЕ Объект.ДокументНаОсновании Тогда
Объект.ДокументОснование = Неопределено;
Возврат;
КонецЕсли;
Если Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПринятиеКУчетуПредметовАренды") Тогда
СписокВыбора = Новый СписокЗначений;
СписокВыбора.Добавить(Тип("ДокументСсылка.ЗаключениеДоговораАренды"));
СписокВыбора.Добавить(Тип("ДокументСсылка.ИзменениеУсловийДоговораАренды"));
Оповещение = Новый ОписаниеОповещения("ВыборТипаДанныхОснованияЗавершение", ЭтотОбъект);
СписокВыбора.ПоказатьВыборЭлемента(Оповещение, НСтр("ru = 'Выбор вида основания'"));
Иначе
ПринятиеКУчетуОСКлиентЛокализация.ДокументНаОснованииПриИзменении(ЭтотОбъект);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ДоначислитьАмортизациюЗаПрошлыйПериодПриИзменении(Элемент)
Объект.ДоначислитьАмортизациюЗаПрошлыйПериод = (ДоначислитьАмортизациюЗаПрошлыйПериод = 1);
НастроитьЗависимыеЭлементыФормы(Элемент.Имя);
КонецПроцедуры
&НаКлиенте
Процедура КорректировкаАмортизацииОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
Если НавигационнаяСсылкаФорматированнойСтроки = "#Создать" Тогда
СтандартнаяОбработка = Ложь;
Если Не ЗначениеЗаполнено(Объект.Ссылка)
ИЛИ Модифицированность Тогда
СписокКнопок = Новый СписокЗначений();
СписокКнопок.Добавить(КодВозвратаДиалога.Да, НСтр("ru = 'Провести и создать'"));
СписокКнопок.Добавить(КодВозвратаДиалога.Отмена);
ТекстВопроса = НСтр("ru = 'Оформление документа возможно только после проведения.
|Провести и продолжить?'");
ОписаниеОповещения = Новый ОписаниеОповещения("СоздатьКорректировкуЗавершение", ЭтотОбъект);
ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, СписокКнопок,, КодВозвратаДиалога.Да);
Иначе
СоздатьКорректировкуЗавершение(КодВозвратаДиалога.Да, Неопределено);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ДекорацияЭДОНажатие(Элемент, СтандартнаяОбработка)
ОбменСКонтрагентамиКлиент.СостояниеЭДОНажатие_ФормаДокумента(ЭтотОбъект, СтандартнаяОбработка);
Возврат;
КонецПроцедуры
#КонецОбласти
#Область СтраницаУчет
&НаКлиенте
Процедура ПорядокУчетаБУПриИзменении(Элемент)
ПорядокУчетаБУПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура СрокИспользованияБУПриИзменении(Элемент)
ПриИзмененииСрокаИспользования("СрокИспользованияБУ", Истина);
КонецПроцедуры
&НаКлиенте
Процедура МетодНачисленияАмортизацииБУПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормы(Элемент.Имя);
КонецПроцедуры
&НаКлиенте
Процедура ПорядокУчетаУУПриИзменении(Элемент)
ПорядокУчетаУУПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура СрокИспользованияУУПриИзменении(Элемент)
ПриИзмененииСрокаИспользования("СрокИспользованияУУ", Ложь);
КонецПроцедуры
&НаКлиенте
Процедура МетодНачисленияАмортизацииУУПриИзменении(Элемент)
НастроитьЗависимыеЭлементыФормы("МетодНачисленияАмортизацииУУ");
КонецПроцедуры
#КонецОбласти
#Область СтраницаОтражениеРасходов
&НаКлиенте
Процедура СтатьяРасходовБУПриИзменении(Элемент)
ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элементы.СтатьяРасходовБУ);
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовБУ) Тогда
Объект.СпособОтраженияРасходовБУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовБУ,СтатьяРасходовБУ");
КонецПроцедуры
&НаКлиенте
Процедура СтатьяРасходовБУНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ДоходыИРасходыКлиент.НачалоВыбораСтатьи(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовБУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовБУ) Тогда
Объект.СпособОтраженияРасходовБУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовБУ");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовБУНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ДоходыИРасходыКлиент.НачалоВыбораАналитикиРасходов(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовБУАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
ДоходыИРасходыКлиент.АвтоПодборАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовБУОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
ДоходыИРасходыКлиент.ОкончаниеВводаТекстаАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СтатьяРасходовУУПриИзменении(Элемент)
ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элементы.СтатьяРасходовУУ);
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
Объект.СпособОтраженияРасходовУУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ,СтатьяРасходовУУ");
КонецПроцедуры
&НаКлиенте
Процедура СтатьяРасходовУУНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ДоходыИРасходыКлиент.НачалоВыбораСтатьи(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовУУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
Объект.СпособОтраженияРасходовУУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ");
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовУУНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ДоходыИРасходыКлиент.НачалоВыбораАналитикиРасходов(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовУУАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
ДоходыИРасходыКлиент.АвтоПодборАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура АналитикаРасходовУУОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
ДоходыИРасходыКлиент.ОкончаниеВводаТекстаАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура СпособОтраженияРасходовБУПриИзменении(Элемент)
ИзмененныеРеквизиты = "СпособОтраженияРасходовБУ,СтатьяРасходовБУ,ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУ";
ВнеоборотныеАктивыКлиентСервер.ЗаполнитьПоСпособуОтраженияРасходов(
Объект.СпособОтраженияРасходовБУ,
Объект.СтатьяРасходовБУ,
Объект.АналитикаРасходовБУ,
Объект.ПодразделениеБУ,
Объект.НаправлениеДеятельностиБУ,
Объект.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУ);
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовБУ) Тогда
ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элементы.СтатьяРасходовБУ);
КонецЕсли;
НастроитьЗависимыеЭлементыФормы(ИзмененныеРеквизиты);
КонецПроцедуры
&НаКлиенте
Процедура СпособОтраженияРасходовУУПриИзменении(Элемент)
ВнеоборотныеАктивыКлиентСервер.ЗаполнитьПоСпособуОтраженияРасходов(
Объект.СпособОтраженияРасходовУУ,
Объект.СтатьяРасходовУУ,
Объект.АналитикаРасходовУУ,
Объект.ПодразделениеУУ,
Объект.НаправлениеДеятельностиУУ,
Объект.ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУ);
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элементы.СтатьяРасходовУУ);
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ,СтатьяРасходовУУ,ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУ");
КонецПроцедуры
&НаКлиенте
Процедура ПодразделениеБУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовБУ) Тогда
Объект.СпособОтраженияРасходовБУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовБУ,ПодразделениеБУ");
КонецПроцедуры
&НаКлиенте
Процедура НаправлениеДеятельностиБУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовБУ) Тогда
Объект.СпособОтраженияРасходовБУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовБУ,НаправлениеДеятельностиБУ");
КонецПроцедуры
&НаКлиенте
Процедура ПодразделениеУУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
Объект.СпособОтраженияРасходовУУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ,ПодразделениеУУ");
КонецПроцедуры
&НаКлиенте
Процедура НаправлениеДеятельностиУУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
Объект.СпособОтраженияРасходовУУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ,НаправлениеДеятельностиУУ");
КонецПроцедуры
&НаКлиенте
Процедура ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовБУ) Тогда
Объект.СпособОтраженияРасходовБУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовБУ,ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУ");
КонецПроцедуры
&НаКлиенте
Процедура ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУПриИзменении(Элемент)
Если ЗначениеЗаполнено(Объект.СпособОтраженияРасходовУУ) Тогда
Объект.СпособОтраженияРасходовУУ = ПредопределенноеЗначение("Справочник.СпособыОтраженияРасходов.ПустаяСсылка");
КонецЕсли;
НастроитьЗависимыеЭлементыФормы("СпособОтраженияРасходовУУ,ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУ");
КонецПроцедуры
#КонецОбласти
#Область Локализация
&НаКлиенте
Процедура Подключаемый_ПриИзмененииРеквизита(Элемент)
ПринятиеКУчетуОСКлиентЛокализация.ПриИзмененииРеквизита(Элемент, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
ПринятиеКУчетуОСКлиентЛокализация.НачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_АвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
ПринятиеКУчетуОСКлиентЛокализация.АвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
ПринятиеКУчетуОСКлиентЛокализация.ОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка, ЭтотОбъект);
КонецПроцедуры
#КонецОбласти
#Область СтандартныеПодсистемы
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраНажатие(Элемент, СтандартнаяОбработка)
РаботаСФайламиКлиент.ПолеПредпросмотраНажатие(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПроверкаПеретаскивания(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
РаботаСФайламиКлиент.ПолеПредпросмотраПроверкаПеретаскивания(ЭтотОбъект, Элемент,
ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПолеПредпросмотраПеретаскивание(Элемент, ПараметрыПеретаскивания, СтандартнаяОбработка)
РаботаСФайламиКлиент.ПолеПредпросмотраПеретаскивание(ЭтотОбъект, Элемент,
ПараметрыПеретаскивания, СтандартнаяОбработка);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТаблицыФормыОС
&НаКлиенте
Процедура ОСПослеУдаления(Элемент)
НастроитьЗависимыеЭлементыФормы("ОсновноеСредство");
КонецПроцедуры
&НаКлиенте
Процедура ОСВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
ТекущиеДанные = Элементы.ОС.ТекущиеДанные;
Если Поле = Элементы.ОСДоговор
И ТекущиеДанные <> Неопределено
И ЗначениеЗаполнено(ТекущиеДанные.Договор) Тогда
СтандартнаяОбработка = Ложь;
ПоказатьЗначение(, ТекущиеДанные.Договор);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОСОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
ПодборНаСервере(ВыбранноеЗначение);
КонецПроцедуры
&НаКлиенте
Процедура ОСПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
ЗаполнитьЗначенияРеквизитовОСДоИзменения();
КонецПроцедуры
&НаКлиенте
Процедура ОСОсновноеСредствоПриИзменении(Элемент)
ОСОсновноеСредствоПриИзмененииНаСервере();
КонецПроцедуры
&НаКлиенте
Процедура ОССтоимостьБУПриИзменении(Элемент)
ОССтоимостьБУПриИзмененииНаСервере();
ЗаполнитьЗначенияРеквизитовОСДоИзменения();
КонецПроцедуры
&НаКлиенте
Процедура ОССтоимостьУУПриИзменении(Элемент)
ЗаполнитьИнформациюВПодвале();
ЗаполнитьЗначенияРеквизитовОСДоИзменения();
КонецПроцедуры
&НаКлиенте
Процедура ОССтоимостьУУ1ПриИзменении(Элемент)
ЗаполнитьЗначенияРеквизитовОСДоИзменения();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Подобрать(Команда)
ОценкаПроизводительностиКлиент.ЗамерВремени("Справочник.ОбъектыЭксплуатации.ФормаВыбора");
ПараметрыПодбора = ОбщегоНазначенияУТКлиентСервер.ПараметрыПодбора(Элементы.ОСОсновноеСредство, ЭтотОбъект);
ОткрытьФорму("Справочник.ОбъектыЭксплуатации.ФормаВыбора",
ПараметрыПодбора, Элементы.ОС,,,,,
РежимОткрытияОкнаФормы.БлокироватьОкноВладельца)
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьСтоимость(Команда)
ОчиститьСообщения();
ЗаполнитьПредварительнуюСтоимость();
КонецПроцедуры
&НаКлиенте
Процедура ЗаписатьДокумент(Команда)
ОбщегоНазначенияУТКлиент.Записать(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПровестиИЗакрыть(Команда)
ОбщегоНазначенияУТКлиент.ПровестиИЗакрыть(ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура ПровестиДокумент(Команда)
ОбщегоНазначенияУТКлиент.Провести(ЭтотОбъект);
КонецПроцедуры
#Область ШтрихкодыИТорговоеОборудование
&НаКлиенте
Процедура ЗагрузитьДанныеИзТСД(Команда)
ВыполнитьЗагрузкуДанныеИзТСД();
КонецПроцедуры
#КонецОбласти
#Область ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ПриВыполненииКоманды(Команда)
ПринятиеКУчетуОСКлиентЛокализация.ПриВыполненииКоманды(Команда, ЭтотОбъект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтотОбъект, Команда);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуЭДО(Команда)
ЭлектронноеВзаимодействиеКлиент.ВыполнитьПодключаемуюКомандуЭДО(Команда, ЭтотОбъект, Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуИнтеграции(Команда)
ИнтеграцияС1СДокументооборотБазоваяФункциональностьКлиент.ВыполнитьПодключаемуюКомандуИнтеграции(
Команда,
ЭтотОбъект,
Объект);
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_КомандаПанелиПрисоединенныхФайлов(Команда)
РаботаСФайламиКлиент.КомандаУправленияПрисоединеннымиФайлами(ЭтотОбъект, Команда);
КонецПроцедуры
#КонецОбласти
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
#Область ЗаполнениеОС
&НаСервере
Процедура ПодборНаСервере(ВыбранноеЗначение)
ДобавленныеСтроки = ВнеоборотныеАктивыКлиентСервер.ОбработкаВыбораЭлемента(Объект.ОС, "ОсновноеСредство", ВыбранноеЗначение);
Если ДобавленныеСтроки.Количество() <> 0 Тогда
ИзмененныеРеквизиты = "ОсновноеСредство";
ПринятиеКУчетуОСЛокализация.ОбработкаВыбораЭлемента(ЭтотОбъект, ИзмененныеРеквизиты);
НастроитьЗависимыеЭлементыФормыНаСервере(ИзмененныеРеквизиты);
ЗаполнитьПредварительнуюСтоимость(ДобавленныеСтроки);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьПредварительнуюСтоимость(ВыбранныеСтроки = Неопределено)
Если НЕ СлужебныеПараметрыФормы.ЕстьУчетСебестоимости
ИЛИ Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.ПринятиеКУчетуОСпоИнвентаризации Тогда
Возврат;
КонецЕсли;
СообщатьОбОшибках = ВыбранныеСтроки = Неопределено;
Отказ = Ложь;
Если НЕ ЗначениеЗаполнено(Объект.Дата) Тогда
Если СообщатьОбОшибках Тогда
ТекстСообщения = НСтр("ru = 'Поле ""Дата"" не заполнено'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "Объект", "Дата", Отказ);
Иначе
Отказ = Истина;
КонецЕсли;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Объект.Организация) Тогда
Если СообщатьОбОшибках Тогда
ТекстСообщения = НСтр("ru = 'Поле ""Организация"" не заполнено'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "Объект", "Организация", Отказ);
Иначе
Отказ = Истина;
КонецЕсли;
КонецЕсли;
Если НЕ ЗначениеЗаполнено(Объект.ОбъектСтроительства)
И Объект.ВидАналитикиКапитализацииРасходов = Перечисления.ВидыАналитикиКапитализацииРасходов.ОбъектСтроительства Тогда
Если СообщатьОбОшибках Тогда
ТекстСообщения = НСтр("ru = 'Поле ""Объект строительства"" не заполнено'");
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения, , "Объект", "ОбъектСтроительства", Отказ);
Иначе
Отказ = Истина;
КонецЕсли;
КонецЕсли;
Если НЕ Отказ Тогда
Документы.ПринятиеКУчетуОС2_4.ЗаполнитьСтоимость(Объект, ВыбранныеСтроки);
КонецЕсли;
ЗаполнитьИнформациюВПодвале();
КонецПроцедуры
#КонецОбласти
#Область ШтрихкодыИТорговоеОборудование
&НаСервере
Процедура ОбработатьШтрихкоды(Знач ДанныеШтрихкодов)
ПараметрыПодбора = ОбщегоНазначенияУТКлиентСервер.ПараметрыПодбора(Элементы.ОСОсновноеСредство, ЭтотОбъект);
МассивОбъектов = ВнеоборотныеАктивы.НайтиОсновныеСредстваПоШтрихкодам(ДанныеШтрихкодов, ПараметрыПодбора);
ПодборНаСервере(МассивОбъектов);
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьЗагрузкуДанныеИзТСД()
ОчиститьСообщения();
МенеджерОборудованияКлиент.НачатьЗагрузкуДанныеИзТСД(
Новый ОписаниеОповещения("ЗагрузитьИзТСДЗавершение", ЭтотОбъект),
УникальныйИдентификатор);
КонецПроцедуры
&НаКлиенте
Процедура ЗагрузитьИзТСДЗавершение(Результат, ДополнительныеПараметры) Экспорт
Если Результат.Результат Тогда
ОбработатьШтрихкоды(Результат.ТаблицаТоваров);
Иначе
МенеджерОборудованияУТКлиент.СообщитьОбОшибке(Результат);
КонецЕсли;
КонецПроцедуры
#КонецОбласти
#Область ПриИзмененииРеквизитов
&НаКлиенте
Процедура ПриОкончанииИзмененияРеквизитаЛокализации(ИмяЭлемента, ПараметрыОповещения) Экспорт
Перем ПараметрыДействия;
Если ПараметрыОповещения.ТребуетсяВызовСервера Тогда
ПриИзмененииРеквизитаЗавершениеНаСервере(ИмяЭлемента, ПараметрыОповещения.ПараметрыОбработки);
КонецЕсли;
Если НЕ ПараметрыОповещения.ТребуетсяВызовСервера Тогда
Если ПараметрыОповещения.ПараметрыОбработки.Свойство("Выполнить_НастроитьЗависимыеЭлементыФормы", ПараметрыДействия) Тогда
НастроитьЗависимыеЭлементыФормы(ПараметрыДействия);
КонецЕсли;
Если ПараметрыОповещения.ПараметрыОбработки.Свойство("Выполнить_ПриИзмененииСрокаИспользования", ПараметрыДействия) Тогда
ПриИзмененииСрокаИспользования(ПараметрыДействия.ИмяРеквизита, ПараметрыДействия.ОбновитьЕслиСовпадают);
КонецЕсли;
Если ПараметрыОповещения.ПараметрыОбработки.Свойство("Выполнить_ЗаполнитьЗначенияРеквизитовОСДоИзменения", ПараметрыДействия) Тогда
ЗаполнитьЗначенияРеквизитовОСДоИзменения();
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриИзмененииРеквизитаЗавершениеНаСервере(Знач ИмяЭлемента, Знач ДополнительныеПараметры)
Перем ПараметрыДействия;
ПринятиеКУчетуОСЛокализация.ПриИзмененииРеквизита(ИмяЭлемента, ЭтотОбъект, ДополнительныеПараметры);
Если ДополнительныеПараметры.Свойство("Выполнить_НастроитьЗависимыеЭлементыФормы", ПараметрыДействия) Тогда
НастроитьЗависимыеЭлементыФормыНаСервере(ПараметрыДействия);
КонецЕсли;
Если ДополнительныеПараметры.Свойство("Выполнить_ЗаполнитьИнформациюВПодвале", ПараметрыДействия) Тогда
ЗаполнитьИнформациюВПодвале();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ОСОсновноеСредствоПриИзмененииНаСервере()
ИзмененныеРеквизиты = "ОсновноеСредство";
ТекущаяСтрока = Элементы.ОС.ТекущаяСтрока;
ДанныеСтроки = Объект.ОС.НайтиПоИдентификатору(ТекущаяСтрока);
ЗаполнитьПредварительнуюСтоимость(ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ДанныеСтроки));
ПринятиеКУчетуОСЛокализация.ОСОсновноеСредствоПриИзменении(ЭтотОбъект, ИзмененныеРеквизиты);
НастроитьЗависимыеЭлементыФормыНаСервере(ИзмененныеРеквизиты);
КонецПроцедуры
&НаКлиенте
Процедура ПриИзмененииСрокаИспользования(ИмяРеквизита, ОбновитьЕслиСовпадают)
СписокРеквизитов = ВнеоборотныеАктивыКлиент.ПриИзмененииСрокаИспользования(
Объект, ИмяРеквизита, СрокиИспользованияСовпадают И ОбновитьЕслиСовпадают);
УстановитьСрокиИспользованияСовпадают(ЭтотОбъект);
НастроитьЗависимыеЭлементыФормы(СписокРеквизитов);
КонецПроцедуры
&НаСервере
Процедура ВариантОтраженияВУчетеПриИзмененииНаСервере()
ИзмененныеРеквизиты = "ОтражатьВУпрУчете,ОтражатьВРеглУчете,ОтражатьВБУ,ОтражатьВНУ";
ВнеоборотныеАктивыКлиентСервер.ПриИзмененииВариантаОтраженияВУчете(Объект, ВариантОтраженияВУчете, Истина);
Если Объект.ОтражатьВУпрУчете
И НЕ Объект.ОтражатьВРеглУчете
И НЕ ЗначениеЗаполнено(Объект.СтатьяРасходовУУ)
И ЗначениеЗаполнено(Объект.СтатьяРасходовБУ) Тогда
Объект.СтатьяРасходовУУ = Объект.СтатьяРасходовБУ;
Объект.АналитикаРасходовУУ = Объект.АналитикаРасходовБУ;
ИзмененныеРеквизиты = ИзмененныеРеквизиты + ",СтатьяРасходовУУ";
КонецЕсли;
НастроитьЗависимыеЭлементыФормыНаСервере(ИзмененныеРеквизиты);
ЗаполнитьИнформациюВПодвале();
КонецПроцедуры
&НаСервере
Процедура ОССтоимостьБУПриИзмененииНаСервере()
ТекущаяСтрока = Элементы.ОС.ТекущаяСтрока;
ТекущиеДанные = Объект.ОС.НайтиПоИдентификатору(ТекущаяСтрока);
Если ЗначенияРеквизитовОСДоИзменения.СтоимостьБУ = ЗначенияРеквизитовОСДоИзменения.СтоимостьУУ
И Объект.ОтражатьВУпрУчете
И ВалютыСовпадают
И ВедетсяРегламентированныйУчетВНА Тогда
ТекущиеДанные.СтоимостьУУ = ТекущиеДанные.СтоимостьБУ;
КонецЕсли;
ПринятиеКУчетуОСЛокализация.ОССтоимостьБУПриИзменении(ЭтотОбъект, ТекущиеДанные);
ЗаполнитьИнформациюВПодвале();
НастроитьЗависимыеЭлементыФормыНаСервере("СтоимостьБУ");
КонецПроцедуры
&НаКлиенте
Процедура ПриИзмененииПредставленияАдреса(Элемент)
ВнеоборотныеАктивыКлиент.ПриИзмененииПредставленияАдреса(
Элемент,
Объект.АдресМестонахождения,
Объект.АдресМестонахожденияЗначение);
КонецПроцедуры
&НаСервере
Процедура ОрганизацияПриИзмененииНаСервере()
ВалютаУпр = Константы.ВалютаУправленческогоУчета.Получить();
ВалютаРегл = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Объект.Организация);
ВалютыСовпадают = (ВалютаУпр = ВалютаРегл);
Объект.НалогообложениеНДС = ВнеоборотныеАктивы.НалогообложениеНДС(Объект.Организация, Объект.Дата);
НастроитьЗависимыеЭлементыФормыНаСервере("Организация,ЕстьСвязанныеОрганизации, НалогообложениеНДС");
КонецПроцедуры
#КонецОбласти
#Область Прочее
&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
КонецПроцедуры
&НаКлиенте
Процедура ПродолжитьВыполнениеКомандыЛокализации(ИмяКоманды, ПараметрыОповещения) Экспорт
Перем ПараметрыДействия;
Если ПараметрыОповещения.ТребуетсяВызовСервера Тогда
ПриВыполненииКомандыЗавершениеНаСервере(ИмяКоманды, ПараметрыОповещения.ПараметрыОбработки);
Возврат;
КонецЕсли;
Если ПараметрыОповещения.ПараметрыОбработки.Свойство("Выполнить_НастроитьЗависимыеЭлементыФормы", ПараметрыДействия) Тогда
НастроитьЗависимыеЭлементыФормыНаКлиентеНаСервере(ЭтотОбъект, ПараметрыДействия);
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ПриВыполненииКомандыЗавершениеНаСервере(Знач ИмяКоманды, Знач ДополнительныеПараметры)
ПринятиеКУчетуОСЛокализация.ПриВыполненииКоманды(ИмяКоманды, ЭтотОбъект);
Если ДополнительныеПараметры.Свойство("Выполнить_НастроитьЗависимыеЭлементыФормы") Тогда
НастроитьЗависимыеЭлементыФормыНаСервере(ДополнительныеПараметры.Выполнить_НастроитьЗависимыеЭлементыФормы);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Подключаемый_ЗакрытьФорму()
Закрыть();
КонецПроцедуры
&НаСервере
Процедура ПриЧтенииСозданииНаСервере()
ИнициализацияФормыПриСозданииНаСервере();
СтатьяРасходовДоИзменения = Объект.СтатьяРасходовБУ;
АналитикаРасходовДоИзменения = Объект.АналитикаРасходовБУ;
Элементы.СтраницаКомментарий.Картинка = ОбщегоНазначенияКлиентСервер.КартинкаКомментария(Объект.Комментарий);
ВариантОтраженияВУчете = ВнеоборотныеАктивыКлиентСервер.ВариантОтраженияВУчете(Объект, Истина);
ЗаполнитьИнформациюВПодвале();
НастроитьЗависимыеЭлементыФормыНаСервере();
Элементы.ГруппаУстановкаПараметраУчетаНУ.Доступность = Не ТолькоПросмотр И
ПравоДоступа("Редактирование", Метаданные.Документы.ПринятиеКУчетуОС2_4);
ПринятиеКУчетуОСЛокализация.ПриЧтенииСозданииНаСервере(ЭтотОбъект);
КонецПроцедуры
&НаСервере
Процедура ИнициализацияФормыПриСозданииНаСервере()
ИнициализироватьСлужебныеПараметрыФормы();
ДоначислитьАмортизациюЗаПрошлыйПериод = ?(Объект.ДоначислитьАмортизациюЗаПрошлыйПериод, 1, 0);
ВалютаУпр = Константы.ВалютаУправленческогоУчета.Получить();
ВалютаРегл = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Объект.Организация);
ВалютыСовпадают = (ВалютаУпр = ВалютаРегл);
ВедетсяРегламентированныйУчетВНА = ВнеоборотныеАктивыСлужебный.ВедетсяРегламентированныйУчетВНА();
ПредставлениеРеквизитов = СлужебныеПараметрыФормы.ПредставлениеРеквизитов;
Элементы.ОССтоимостьУУ.Заголовок = ПредставлениеРеквизитов.Получить("ОС.СтоимостьУУ");
Элементы.ОССтоимостьУУ_Отдельно.Заголовок = ПредставлениеРеквизитов.Получить("ОС.СтоимостьУУ");
Элементы.ОССтоимостьБУ.Заголовок = ПредставлениеРеквизитов.Получить("ОС.СтоимостьБУ");
Элементы.ОССтоимостьБУ_Отдельно.Заголовок = ПредставлениеРеквизитов.Получить("ОС.СтоимостьБУ");
Элементы.ОСЛиквидационнаяСтоимость.Заголовок = ПредставлениеРеквизитов.Получить("ОС.ЛиквидационнаяСтоимость");
Элементы.ОСЛиквидационнаяСтоимостьРегл.Заголовок = ПредставлениеРеквизитов.Получить("ОС.ЛиквидационнаяСтоимостьРегл");
ИспользоватьОбъектыСтроительства = ПолучитьФункциональнуюОпцию("ИспользоватьОбъектыСтроительства");
КонецПроцедуры
&НаСервере
Процедура ИнициализироватьСлужебныеПараметрыФормы()
НовыеСлужебныеПараметрыФормы = Новый Структура;
НовыеСлужебныеПараметрыФормы.Вставить("ПредставлениеРеквизитов", Документы.ПринятиеКУчетуОС2_4.ПредставлениеРеквизитов(Объект.Организация));
НовыеСлужебныеПараметрыФормы.Вставить("ЕстьУчетСебестоимости", Ложь);
НовыеСлужебныеПараметрыФормы.Вставить("ИспользоватьРеглУчет", РеглУчетСервер.ВедетсяРеглУчет(Объект.Дата));
НовыеСлужебныеПараметрыФормы.Вставить("Балансодержатель", Перечисления.БалансодержательПредметовАренды.Арендатор);
НовыеСлужебныеПараметрыФормы.Вставить("УчитыватьПредметыАрендыВРеглУчете", Истина);
НовыеСлужебныеПараметрыФормы.Вставить("УчитыватьПредметыАрендыВУпрУчете", Истина);
НовыеСлужебныеПараметрыФормы.Вставить("ПредметыАрендыУчитываютсяВНУ", Ложь);
НовыеСлужебныеПараметрыФормы.Вставить("СоответствиеДоговоров", Новый ФиксированноеСоответствие(Новый Соответствие()));
НовыеСлужебныеПараметрыФормы.Вставить("ЕстьПравоДобавленияКорректировки", ПравоДоступа("ИнтерактивноеДобавление", Метаданные.Документы.КорректировкаСтоимостиИАмортизацииОС));
НовыеСлужебныеПараметрыФормы.Вставить(
"ИспользоватьУчетПоНаправлениямДеятельности",
ПолучитьФункциональнуюОпцию("ИспользоватьУчетВнеоборотныхАктивовПоНаправлениямДеятельности"));
СлужебныеПараметрыФормы = Новый ФиксированнаяСтруктура(НовыеСлужебныеПараметрыФормы);
КонецПроцедуры
&НаСервере
Процедура УстановитьУсловноеОформление()
УсловноеОформление.Элементы.Очистить();
ПринятиеКУчетуОСЛокализация.УстановитьУсловноеОформление(УсловноеОформление, Элементы);
ВнеоборотныеАктивыСлужебный.УстановитьУсловноеОформлениеЦелевогоФинансирования(УсловноеОформление, Элементы);
#Область ОСДоговор_ЦветТекста
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ОСДоговор.Имя);
Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ГиперссылкаЦвет);
#КонецОбласти
КонецПроцедуры
&НаКлиенте
Процедура НастроитьЗависимыеЭлементыФормы(Знач ИзмененныеРеквизиты = "")
СтруктураИзмененныхРеквизитов = Новый Структура(ИзмененныеРеквизиты);
Если ТребуетсяВызовСервераДляНастройкиЭлементовФормы(СтруктураИзмененныхРеквизитов) Тогда
НастроитьЗависимыеЭлементыФормыНаСервере(ИзмененныеРеквизиты)
Иначе
НастроитьЗависимыеЭлементыФормыНаКлиентеНаСервере(ЭтотОбъект, ИзмененныеРеквизиты);
КонецЕсли;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура НастроитьЗависимыеЭлементыФормыНаКлиентеНаСервере(Форма, ИзмененныеРеквизиты)
Объект = Форма.Объект;
Элементы = Форма.Элементы;
СлужебныеПараметрыФормы = Форма.СлужебныеПараметрыФормы;
ПредставлениеРеквизитов = СлужебныеПараметрыФормы.ПредставлениеРеквизитов;
ВспомогательныеРеквизиты = Новый Структура;
ВспомогательныеРеквизиты.Вставить("ИспользоватьОбъектыСтроительства", Форма.ИспользоватьОбъектыСтроительства);
ВспомогательныеРеквизиты.Вставить("ОтражатьВРеглУчете", Объект.ОтражатьВРеглУчете);
ВспомогательныеРеквизиты.Вставить("ОтражатьВУпрУчете", Объект.ОтражатьВУпрУчете);
ВспомогательныеРеквизиты.Вставить("ОтражатьВБУ", Объект.ОтражатьВБУ);
ВспомогательныеРеквизиты.Вставить("ОтражатьВНУ", Объект.ОтражатьВНУ);
ВспомогательныеРеквизиты.Вставить("ВедетсяРегламентированныйУчетВНА", Форма.ВедетсяРегламентированныйУчетВНА);
ВспомогательныеРеквизиты.Вставить("ВалютыСовпадают", Форма.ВалютыСовпадают);
ВспомогательныеРеквизиты.Вставить("ЕстьУчетСебестоимости", СлужебныеПараметрыФормы.ЕстьУчетСебестоимости);
ВспомогательныеРеквизиты.Вставить("ИспользоватьРеглУчет", СлужебныеПараметрыФормы.ИспользоватьРеглУчет);
ВспомогательныеРеквизиты.Вставить("РеглУчетВНАВедетсяНезависимо", СлужебныеПараметрыФормы.РеглУчетВНАВедетсяНезависимо);
ВспомогательныеРеквизиты.Вставить("ИспользоватьУчетПоНаправлениямДеятельности", СлужебныеПараметрыФормы.ИспользоватьУчетПоНаправлениямДеятельности);
ПринятиеКУчетуОСКлиентСерверЛокализация.ДополнитьВспомогательныеРеквизиты(Форма, ВспомогательныеРеквизиты);
ВнеоборотныеАктивыКлиентСервер.ПриИзмененииРеквизитов_ПринятиеКУчетуОС(Объект, ВспомогательныеРеквизиты, ИзмененныеРеквизиты);
СтруктураИзмененныхРеквизитов = Новый Структура(ИзмененныеРеквизиты);
ОбновитьВсе = СтруктураИзмененныхРеквизитов.Количество() = 0;
ПараметрыПринятияКУчетуОС = ВнеоборотныеАктивыКлиентСервер.ПараметрыПринятияКУчетуОС(Объект, ВспомогательныеРеквизиты);
ПараметрыРеквизитовОбъекта = ВнеоборотныеАктивыКлиентСервер.ЗначенияСвойствЗависимыхРеквизитов_ПринятиеКУчетуОС(
Объект, ВспомогательныеРеквизиты, ИзмененныеРеквизиты);
ОбщегоНазначенияУТКлиентСервер.НастроитьЗависимыеЭлементыФормы(Форма, ПараметрыРеквизитовОбъекта);
Если НЕ ОбновитьВсе Тогда
ИзмененныеРеквизитыПослеНастройки = Новый Массив;
ОбщегоНазначенияУТКлиентСервер.ОчиститьНеиспользуемыеРеквизиты(
Объект, ПараметрыРеквизитовОбъекта, "ОС,ЦелевоеФинансирование", ИзмененныеРеквизитыПослеНастройки);
ЗаполнитьРеквизитыВзависимостиОтСвойств(Форма, ПараметрыРеквизитовОбъекта, ИзмененныеРеквизитыПослеНастройки);
Если ИзмененныеРеквизитыПослеНастройки.Количество() <> 0 Тогда
ИзмененныеРеквизитыПослеНастройки = СтрСоединить(ИзмененныеРеквизитыПослеНастройки, ",");
ВнеоборотныеАктивыКлиентСервер.ПриИзмененииРеквизитов_ПринятиеКУчетуОС(Объект, ВспомогательныеРеквизиты, ИзмененныеРеквизитыПослеНастройки);
ПараметрыРеквизитовОбъекта = ВнеоборотныеАктивыКлиентСервер.ЗначенияСвойствЗависимыхРеквизитов_ПринятиеКУчетуОС(
Объект, ВспомогательныеРеквизиты, ИзмененныеРеквизитыПослеНастройки);
ОбщегоНазначенияУТКлиентСервер.НастроитьЗависимыеЭлементыФормы(Форма, ПараметрыРеквизитовОбъекта);
КонецЕсли;
КонецЕсли;
ДоступныНастройкиРеглУчета = (Объект.ОтражатьВРеглУчете И ВспомогательныеРеквизиты.РеглУчетВНАВедетсяНезависимо);
#Область СтраницаОсновное
Элементы.ДекорацияОтступЧастичныйВводВЭксплуатацию.Видимость = Элементы.ЧастичныйВводВЭксплуатацию.Видимость;
Если ОбновитьВсе Тогда
УстановитьСрокиИспользованияСовпадают(Форма);
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("Организация")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("Дата")
ИЛИ ОбновитьВсе Тогда
Элементы.ВариантОтраженияВУчете.Видимость = СлужебныеПараметрыФормы.РеглУчетВНАВедетсяНезависимо;
Если НЕ СлужебныеПараметрыФормы.РеглУчетВНАВедетсяНезависимо
И НЕ ОбновитьВсе Тогда
Форма.ВариантОтраженияВУчете = ПредопределенноеЗначение("Перечисление.ВариантыОтраженияВУчетеВнеоборотныхАктивов.УправленческомИРегламентированномУчетах");
Объект.ОтражатьВРеглУчете = Истина;
Объект.ОтражатьВУпрУчете = Истина;
Объект.ОтражатьВБУ = Истина;
Объект.ОтражатьВНУ = Истина;
КонецЕсли;
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("РежимИсправленияСПрошлойДаты")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ДоначислитьАмортизациюЗаПрошлыйПериод")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("Запись_КорректировкаСтоимостиИАмортизацииОС")
ИЛИ ОбновитьВсе Тогда
Если Объект.РежимИсправленияСПрошлойДаты
И НЕ Объект.ДоначислитьАмортизациюЗаПрошлыйПериод Тогда
Форма.КорректировкаАмортизации = НадписьКорректировкаАмортизации(
Объект.Ссылка, СлужебныеПараметрыФормы.ЕстьПравоДобавленияКорректировки);
Элементы.КорректировкаАмортизации.Видимость = Истина;
Иначе
Элементы.КорректировкаАмортизации.Видимость = Ложь;
КонецЕсли;
КонецЕсли;
#КонецОбласти
#Область СтраницаОС
Если СтруктураИзмененныхРеквизитов.Свойство("ХозяйственнаяОперация")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ПорядокУчетаБУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВУпрУчете")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВРеглУчете")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("Организация")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("Дата")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("РежимИсправленияСПрошлойДаты")
ИЛИ ОбновитьВсе Тогда
Форма.РасширеннаяСтоимостьРегл = Ложь;
Если ПараметрыПринятияКУчетуОС.СтоимостьУУДоступна
И ПараметрыПринятияКУчетуОС.СтоимостьБУДоступна Тогда
Элементы.ОССтоимостьУУ.Видимость = ПараметрыПринятияКУчетуОС.СтоимостьУУДоступна;
Элементы.ОССтоимостьБУ.Видимость = ПараметрыПринятияКУчетуОС.СтоимостьБУДоступна;
Элементы.ОССтоимостьУУ_Отдельно.Видимость = Ложь;
Элементы.ОССтоимостьБУ_Отдельно.Видимость = Ложь;
Элементы.ОССтоимостьБУ_Расширенная.Видимость = Ложь;
Иначе
Элементы.ОССтоимостьУУ.Видимость = Ложь;
Элементы.ОССтоимостьУУ_Отдельно.Видимость = ПараметрыПринятияКУчетуОС.СтоимостьУУДоступна;
Элементы.ОССтоимостьБУ.Видимость = Ложь;
Элементы.ОССтоимостьБУ_Отдельно.Видимость =
НЕ Форма.РасширеннаяСтоимостьРегл
И ПараметрыПринятияКУчетуОС.СтоимостьБУДоступна;
Элементы.ОССтоимостьБУ_Расширенная.Видимость =
Форма.РасширеннаяСтоимостьРегл
И ПараметрыПринятияКУчетуОС.СтоимостьБУДоступна;
КонецЕсли;
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("ЧастичныйВводВЭксплуатацию")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ХозяйственнаяОперация")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВРеглУчете")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВУпрУчете")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ПорядокУчетаБУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ПорядокУчетаУУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("Дата")
ИЛИ ОбновитьВсе Тогда
Если ПараметрыПринятияКУчетуОС.ФактическаяСтоимость Тогда
Элементы.ОСГруппаСтоимость.Заголовок = НСтр("ru = 'Фактическая первоначальная стоимость'");
Элементы.ОСЗаполнитьСтоимость.Видимость = Ложь;
Иначе
Элементы.ОСГруппаСтоимость.Заголовок = НСтр("ru = 'Предварительная первоначальная стоимость'");
Элементы.ОСЗаполнитьСтоимость.Видимость =
Элементы.ОССтоимостьБУ.Видимость
ИЛИ Элементы.ОССтоимостьБУ_Отдельно.Видимость
ИЛИ Элементы.ОССтоимостьУУ.Видимость
ИЛИ Элементы.ОССтоимостьУУ_Отдельно.Видимость;
КонецЕсли;
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("ХозяйственнаяОперация")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("Договор")
ИЛИ ОбновитьВсе Тогда
Элементы.ОСДоговор.Видимость =
Объект.ХозяйственнаяОперация = ПредопределенноеЗначение("Перечисление.ХозяйственныеОперации.ПринятиеКУчетуПредметовАренды")
И НЕ ЗначениеЗаполнено(Объект.Договор);
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("Организация")
ИЛИ ОбновитьВсе Тогда
Элементы.ОССтоимостьБУ.Заголовок = ПредставлениеРеквизитов.Получить("ОС.СтоимостьБУ");
Элементы.ОССтоимостьБУ_Отдельно.Заголовок = ПредставлениеРеквизитов.Получить("ОС.СтоимостьБУ");
Элементы.ОСЛиквидационнаяСтоимостьРегл.Заголовок = ПредставлениеРеквизитов.Получить("ОС.ЛиквидационнаяСтоимостьРегл");
КонецЕсли;
#КонецОбласти
#Область СтраницаУчет
Если СтруктураИзмененныхРеквизитов.Свойство("СрокИспользованияБУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ПорядокУчетаБУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВРеглУчете")
ИЛИ ОбновитьВсе Тогда
Форма.СрокИспользованияБУРасшифровка = ВнеоборотныеАктивыКлиентСервер.ПредставлениеКоличестваМесяцевСтрокой(
Объект.СрокИспользованияБУ);
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("СрокИспользованияУУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ПорядокУчетаУУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВУпрУчете")
ИЛИ ОбновитьВсе Тогда
Форма.СрокИспользованияУУРасшифровка = ВнеоборотныеАктивыКлиентСервер.ПредставлениеКоличестваМесяцевСтрокой(
Объект.СрокИспользованияУУ);
КонецЕсли;
#КонецОбласти
#Область СтраницаОтражениеРасходов
Если СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВРеглУчете")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВУпрУчете")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ПорядокУчетаУУ")
ИЛИ ОбновитьВсе Тогда
Если Объект.ПорядокУчетаУУ = ПредопределенноеЗначение("Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.СписыватьПриПринятииКУчету")
ИЛИ Объект.ПорядокУчетаУУ = ПредопределенноеЗначение("Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы") Тогда
Элементы.ГруппаОтражениеРасходовПоАмортизацииУпр.Заголовок =
?(ДоступныНастройкиРеглУчета, НСтр("ru = 'Включение в расходы (управленческий учет)'"), НСтр("ru = 'Включение в расходы'"));
Элементы.СтатьяРасходовУУ.Подсказка = НСтр("ru = 'Статья расходов, по которой стоимость включается в расходы'");
Иначе
Элементы.ГруппаОтражениеРасходовПоАмортизацииУпр.Заголовок =
?(ДоступныНастройкиРеглУчета, НСтр("ru = 'Амортизация (управленческий учет)'"), НСтр("ru = 'Амортизация'"));
Элементы.СтатьяРасходовУУ.Подсказка = НСтр("ru = 'Статья расходов, по которой отражаются амортизационные расходы'");
КонецЕсли;
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВРеглУчете")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВУпрУчете")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ПорядокУчетаБУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ПорядокУчетаНУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ПорядокУчетаУУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("СтатьяРасходовУУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("АналитикаРасходовУУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("СпособОтраженияРасходовУУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ПодразделениеУУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("НаправлениеДеятельностиУУ")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУ")
ИЛИ ОбновитьВсе Тогда
Если ПараметрыПринятияКУчетуОС.СтатьяРасходовУУОбязательна
ИЛИ ЗначениеЗаполнено(Объект.СтатьяРасходовУУ) Тогда
Элементы.СпособОтраженияРасходовУУ.ПодсказкаВвода = "";
Элементы.СтатьяРасходовУУ.ПодсказкаВвода = "";
Элементы.АналитикаРасходовУУ.ПодсказкаВвода = "";
Элементы.ПодразделениеУУ.ПодсказкаВвода = "";
Элементы.НаправлениеДеятельностиУУ.ПодсказкаВвода = "";
ИначеЕсли НЕ ПараметрыПринятияКУчетуОС.СтатьяРасходовУУОбязательна Тогда
ПодсказкаВводаСтатьи = НСтр("ru = 'совпадает с бухгалтерским учетом'");
Элементы.СпособОтраженияРасходовУУ.ПодсказкаВвода = ПодсказкаВводаСтатьи;
Элементы.СтатьяРасходовУУ.ПодсказкаВвода = ПодсказкаВводаСтатьи;
Элементы.АналитикаРасходовУУ.ПодсказкаВвода = ПодсказкаВводаСтатьи;
Элементы.ПодразделениеУУ.ПодсказкаВвода = ПодсказкаВводаСтатьи;
Элементы.НаправлениеДеятельностиУУ.ПодсказкаВвода = ПодсказкаВводаСтатьи;
КонецЕсли;
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("СпособОтраженияРасходовБУ")
ИЛИ ОбновитьВсе Тогда
ВнеоборотныеАктивыКлиентСервер.НастроитьЭлементыПоСпособуОтраженияРасходов(
Объект.СпособОтраженияРасходовБУ,
Форма,
"СтатьяРасходовБУ,АналитикаРасходовБУ,ПодразделениеБУ,НаправлениеДеятельностиБУ,ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаБУ");
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("СпособОтраженияРасходовУУ")
ИЛИ ОбновитьВсе Тогда
ВнеоборотныеАктивыКлиентСервер.НастроитьЭлементыПоСпособуОтраженияРасходов(
Объект.СпособОтраженияРасходовУУ,
Форма,
"СтатьяРасходовУУ,АналитикаРасходовУУ,ПодразделениеУУ,НаправлениеДеятельностиУУ,ПодразделениеИНаправлениеДеятельностиСовпадаютСДаннымиУчетаУУ");
КонецЕсли;
#КонецОбласти
ПринятиеКУчетуОСКлиентСерверЛокализация.НастроитьЗависимыеЭлементыФормы(
Форма,
ВспомогательныеРеквизиты,
СтруктураИзмененныхРеквизитов,
ПараметрыРеквизитовОбъекта);
КонецПроцедуры
&НаСервере
Процедура НастроитьЗависимыеЭлементыФормыНаСервере(ИзмененныеРеквизиты = "")
СтруктураИзмененныхРеквизитов = Новый Структура(ИзмененныеРеквизиты);
ОбновитьВсе = СтруктураИзмененныхРеквизитов.Количество() = 0;
ДатаПараметров = КонецМесяца(?(Объект.Дата <> '000101010000', Объект.Дата, ТекущаяДатаСеанса()));
Если ОбновитьВсе Тогда
Элементы.ДекорацияУстановкаПараметраУчетаНУ.Видимость = Ложь;
Элементы.ДекорацияАмортизационнаяПремияКартинка.Видимость = Ложь;
Элементы.ДекорацияАмортизационнаяПремияНадпись.Видимость = Ложь;
Элементы.НаправлениеДеятельностиНУ.Видимость = Ложь;
Элементы.НаправлениеДеятельностиАмортизационнойПремии.Видимость = Ложь;
Элементы.ДекорацияРаздельныйУчет.Видимость = ВедетсяРегламентированныйУчетВНА;
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("Организация")
ИЛИ ОбновитьВсе Тогда
ВнеоборотныеАктивыСлужебный.УстановитьСвойствоСтруктуры(
"ПредставлениеРеквизитов",
Документы.ПринятиеКУчетуОС2_4.ПредставлениеРеквизитов(Объект.Организация),
СлужебныеПараметрыФормы);
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("Организация")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("Дата")
ИЛИ ОбновитьВсе Тогда
ВнеоборотныеАктивы.УстановитьПараметрыФункциональныхОпцийФормыОбъекта(ЭтотОбъект, Объект.Организация, Объект.Дата);
ВнеоборотныеАктивыСлужебный.УстановитьСвойствоСтруктуры(
"РеглУчетВНАВедетсяНезависимо",
НастройкиНалоговУчетныхПолитикПовтИсп.РеглУчетВНАВедетсяНезависимо(Объект.Организация, ДатаПараметров),
СлужебныеПараметрыФормы);
Элементы.ДекорацияРаздельныйУчет.Видимость =
НастройкиНалоговУчетныхПолитикПовтИсп.РаздельныйУчетВНАПоНалогообложениюНДС(Объект.Организация, ДатаПараметров);
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("Дата")
ИЛИ ОбновитьВсе Тогда
ВнеоборотныеАктивыСлужебный.УстановитьСвойствоСтруктуры(
"ЕстьУчетСебестоимости",
РасчетСебестоимостиПовтИсп.ФормироватьДвиженияПоРегистрамСебестоимости(Объект.Дата),
СлужебныеПараметрыФормы);
ВнеоборотныеАктивыСлужебный.УстановитьСвойствоСтруктуры(
"ИспользоватьРеглУчет",
РеглУчетСервер.ВедетсяРеглУчет(Объект.Дата),
СлужебныеПараметрыФормы);
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("Организация")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("Дата")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОС")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОсновноеСредство")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ХозяйственнаяОперация")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("Договор")
ИЛИ ОбновитьВсе Тогда
ЗаполнитьДоговорВТабличнойЧасти();
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("ПорядокУчетаБУ")
ИЛИ ОбновитьВсе Тогда
ЗначенияПараметровВыбора = ОбщегоНазначенияУТКлиентСервер.ПараметрыПодбора(Элементы.СтатьяРасходовБУ, ЭтотОбъект);
ВнеоборотныеАктивы.УстановитьПараметрыВыбораСтатьиПоПорядкуУчета(
Элементы.СтатьяРасходовБУ.ПараметрыВыбора,
ЗначенияПараметровВыбора);
КонецЕсли;
Если СтруктураИзмененныхРеквизитов.Свойство("ПорядокУчетаУУ")
ИЛИ ОбновитьВсе Тогда
ЗначенияПараметровВыбора = ОбщегоНазначенияУТКлиентСервер.ПараметрыПодбора(Элементы.СтатьяРасходовУУ, ЭтотОбъект);
ВнеоборотныеАктивы.УстановитьПараметрыВыбораСтатьиПоПорядкуУчета(
Элементы.СтатьяРасходовУУ.ПараметрыВыбора,
ЗначенияПараметровВыбора);
КонецЕсли;
ПринятиеКУчетуОСЛокализация.НастроитьЗависимыеЭлементыФормы(ЭтотОбъект, СтруктураИзмененныхРеквизитов);
НастроитьЗависимыеЭлементыФормыНаКлиентеНаСервере(ЭтотОбъект, ИзмененныеРеквизиты);
КонецПроцедуры
&НаКлиенте
Функция ТребуетсяВызовСервераДляНастройкиЭлементовФормы(СтруктураИзмененныхРеквизитов)
Если СтруктураИзмененныхРеквизитов.Количество() = 0
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("Дата")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("Организация")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВРеглУчете")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОтражатьВУпрУчете")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОС")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("ОсновноеСредство")
ИЛИ СтруктураИзмененныхРеквизитов.Свойство("Договор") Тогда
Возврат Истина;
КонецЕсли;
Возврат ПринятиеКУчетуОСКлиентЛокализация.ТребуетсяВызовСервераДляНастройкиЭлементовФормы(Объект, СтруктураИзмененныхРеквизитов);
КонецФункции
&НаКлиентеНаСервереБезКонтекста
Процедура ЗаполнитьРеквизитыВзависимостиОтСвойств(Форма, ПараметрыРеквизитовОбъекта, ИзмененныеРеквизиты)
Объект = Форма.Объект;
Для каждого ПараметрыРеквизита Из ПараметрыРеквизитовОбъекта Цикл
Если НЕ ЗначениеЗаполнено(ПараметрыРеквизита.ИмяРеквизита)
ИЛИ СтрРазделить(ПараметрыРеквизита.ИмяРеквизита, ".").ВГраница() <> 0 Тогда
Продолжить;
КонецЕсли;
Действие = ВнеоборотныеАктивыКлиентСервер.ОчиститьИлиЗаполнить(Объект, ПараметрыРеквизита);
Если НЕ ЗначениеЗаполнено(Действие) Тогда
Продолжить;
КонецЕсли;
#Область СтраницаОсновное
Если ПараметрыРеквизита.ИмяРеквизита = "ОбъектСтроительства" Тогда
Если Действие = "Очистить" Тогда
Объект[ПараметрыРеквизита.ИмяРеквизита] = Неопределено;
ИзмененныеРеквизиты.Добавить(ПараметрыРеквизита.ИмяРеквизита);
КонецЕсли;
КонецЕсли;
Если ПараметрыРеквизита.ИмяРеквизита = "ВариантРаздельногоУчетаНДС"
И Действие = "Заполнить" Тогда
Объект[ПараметрыРеквизита.ИмяРеквизита] = ПредопределенноеЗначение("Перечисление.ВариантыРаздельногоУчетаНДС.ИзДокумента");
ИзмененныеРеквизиты.Добавить(ПараметрыРеквизита.ИмяРеквизита);
КонецЕсли;
Если ПараметрыРеквизита.ИмяРеквизита = "НалогообложениеНДС"
И Действие = "Заполнить" Тогда
Объект[ПараметрыРеквизита.ИмяРеквизита] = ПредопределенноеЗначение("Перечисление.ТипыНалогообложенияНДС.ПродажаОблагаетсяНДС");
ИзмененныеРеквизиты.Добавить(ПараметрыРеквизита.ИмяРеквизита);
КонецЕсли;
#КонецОбласти
#Область СтраницаУчет
Если ПараметрыРеквизита.ИмяРеквизита = "ПорядокУчетаБУ"
И Действие = "Заполнить" Тогда
Объект[ПараметрыРеквизита.ИмяРеквизита] = ПредопределенноеЗначение("Перечисление.ПорядокПогашенияСтоимостиОС.НачислениеАмортизации");
ИзмененныеРеквизиты.Добавить(ПараметрыРеквизита.ИмяРеквизита);
КонецЕсли;
Если ПараметрыРеквизита.ИмяРеквизита = "НачислятьАмортизациюБУ" Тогда
Объект[ПараметрыРеквизита.ИмяРеквизита] = ?(Действие = "Заполнить", Истина, Ложь);
ИзмененныеРеквизиты.Добавить(ПараметрыРеквизита.ИмяРеквизита);
КонецЕсли;
Если ПараметрыРеквизита.ИмяРеквизита = "МетодНачисленияАмортизацииБУ"
И Действие = "Заполнить" Тогда
Объект[ПараметрыРеквизита.ИмяРеквизита] = ПредопределенноеЗначение("Перечисление.СпособыНачисленияАмортизацииОС.Линейный");
ИзмененныеРеквизиты.Добавить(ПараметрыРеквизита.ИмяРеквизита);
КонецЕсли;
Если ПараметрыРеквизита.ИмяРеквизита = "ПорядокУчетаУУ"
И Действие = "Заполнить" Тогда
Объект[ПараметрыРеквизита.ИмяРеквизита] = ПредопределенноеЗначение("Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НачислятьАмортизацию");
ИзмененныеРеквизиты.Добавить(ПараметрыРеквизита.ИмяРеквизита);
КонецЕсли;
Если ПараметрыРеквизита.ИмяРеквизита = "НачислятьАмортизациюУУ" Тогда
Объект[ПараметрыРеквизита.ИмяРеквизита] = ?(Действие = "Заполнить", Истина, Ложь);
ИзмененныеРеквизиты.Добавить(ПараметрыРеквизита.ИмяРеквизита);
КонецЕсли;
Если ПараметрыРеквизита.ИмяРеквизита = "МетодНачисленияАмортизацииУУ"
И Действие = "Заполнить" Тогда
Объект[ПараметрыРеквизита.ИмяРеквизита] = ПредопределенноеЗначение("Перечисление.СпособыНачисленияАмортизацииОС.Линейный");
ИзмененныеРеквизиты.Добавить(ПараметрыРеквизита.ИмяРеквизита);
КонецЕсли;
#КонецОбласти
#Область СтраницаОтражениеРасходов
Если ПараметрыРеквизита.ИмяРеквизита = "СтатьяРасходовБУ" Тогда
Если Действие = "Очистить" Тогда
Объект.СтатьяРасходовБУ = Неопределено;
Объект.АналитикаРасходовБУ = Неопределено;
ИзмененныеРеквизиты.Добавить("СтатьяРасходовБУ");
ИзмененныеРеквизиты.Добавить("АналитикаРасходовБУ");
КонецЕсли;
КонецЕсли;
Если ПараметрыРеквизита.ИмяРеквизита = "СтатьяРасходовУУ" Тогда
Если Действие = "Очистить" Тогда
Объект.СтатьяРасходовУУ = Неопределено;
Объект.АналитикаРасходовУУ = Неопределено;
ИзмененныеРеквизиты.Добавить("СтатьяРасходовУУ");
ИзмененныеРеквизиты.Добавить("АналитикаРасходовУУ");
КонецЕсли;
КонецЕсли;
#КонецОбласти
ПринятиеКУчетуОСКлиентСерверЛокализация.ЗаполнитьРеквизитыВзависимостиОтСвойств(
Форма, ПараметрыРеквизита, Действие, ИзмененныеРеквизиты);
КонецЦикла;
КонецПроцедуры
&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьСрокиИспользованияСовпадают(Форма)
Форма.СрокиИспользованияСовпадают =
(НЕ Форма.Объект.ОтражатьВРеглУчете
ИЛИ НЕ Форма.СлужебныеПараметрыФормы.РеглУчетВНАВедетсяНезависимо
ИЛИ (Форма.Объект.СрокИспользованияБУ = Форма.Объект.СрокИспользованияНУ))
И (НЕ Форма.Объект.ОтражатьВУпрУчете
ИЛИ (Форма.Объект.СрокИспользованияБУ = Форма.Объект.СрокИспользованияУУ));
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьИнформациюВПодвале()
ЗаголовокНадписи = ВнеоборотныеАктивыСлужебный.ИнформацияОДокументеВДругомУчете(Объект);
Если ПредварительнаяСтоимостьОтличаетсяОтФактической() Тогда
Если ЗаголовокНадписи.Количество() <> 0 Тогда
ЗаголовокНадписи.Добавить(Символы.ПС);
КонецЕсли;
ЗаголовокНадписи.Добавить(НСтр("ru = 'Стоимость, указанная в документе, отличается от фактической.'"));
КонецЕсли;
Если ЗаголовокНадписи.Количество() <> 0 Тогда
Элементы.Информация.Заголовок = Новый ФорматированнаяСтрока(ЗаголовокНадписи);
Элементы.КартинкаИнформация.Видимость = Истина;
Элементы.Информация.Видимость = Истина;
Иначе
Элементы.КартинкаИнформация.Видимость = Ложь;
Элементы.Информация.Видимость = Ложь;
КонецЕсли;
КонецПроцедуры
&НаСервере
Функция ПредварительнаяСтоимостьОтличаетсяОтФактической()
Если НЕ ЗначениеЗаполнено(Объект.Ссылка)
ИЛИ Объект.ЧастичныйВводВЭксплуатацию Тогда
Возврат Ложь;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство,
| ТаблицаОС.СтоимостьБУ КАК СтоимостьБУ,
| ТаблицаОС.СтоимостьУУ КАК СтоимостьУУ
|ПОМЕСТИТЬ втТаблицаОС
|ИЗ
| &ТаблицаОС КАК ТаблицаОС
|;
|
|
|ВЫБРАТЬ ПЕРВЫЕ 1
| ТаблицаОС.ОсновноеСредство КАК ОсновноеСредство
|ИЗ
| втТаблицаОС КАК ТаблицаОС
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.СтоимостьОС КАК СтоимостьОС
| ПО (СтоимостьОС.Регистратор = &Ссылка)
| И ТаблицаОС.ОсновноеСредство = СтоимостьОС.ОсновноеСредство
| И (СтоимостьОС.РасчетСтоимости)
| И (СтоимостьОС.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Приход))
|
|СГРУППИРОВАТЬ ПО
| ТаблицаОС.ОсновноеСредство
|
|ИМЕЮЩИЕ
| (&ОтражатьВБУ
| И &ПорядокУчетаБУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокПогашенияСтоимостиОС.НеПриниматьКУчетуВключитьВРасходы)
| И МАКСИМУМ(ТаблицаОС.СтоимостьБУ) <> СУММА(СтоимостьОС.СтоимостьРегл + СтоимостьОС.СтоимостьЦФ)
| ИЛИ &ОтражатьВУпрУчете
| И &ПорядокУчетаУУ <> ЗНАЧЕНИЕ(Перечисление.ПорядокУчетаСтоимостиВнеоборотныхАктивов.НеПриниматьКУчетуВключитьВРасходы)
| И МАКСИМУМ(ТаблицаОС.СтоимостьУУ) <> СУММА(СтоимостьОС.Стоимость))";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);
Запрос.УстановитьПараметр("ТаблицаОС", Объект.ОС.Выгрузить());
Запрос.УстановитьПараметр("ОтражатьВБУ", Объект.ОтражатьВБУ);
Запрос.УстановитьПараметр("ПорядокУчетаБУ", Объект.ПорядокУчетаБУ);
Запрос.УстановитьПараметр("ПорядокУчетаУУ", Объект.ПорядокУчетаУУ);
Запрос.УстановитьПараметр("ОтражатьВУпрУчете", Объект.ОтражатьВУпрУчете);
Результат = Запрос.Выполнить();
Результат = НЕ Результат.Пустой();
Возврат Результат;
КонецФункции
&НаКлиенте
Процедура ЗаполнитьЗначенияРеквизитовОСДоИзменения()
ЗначенияРеквизитовДоИзменения = Новый Структура;
ЗначенияРеквизитовДоИзменения.Вставить("СтоимостьУУ", 0);
ЗначенияРеквизитовДоИзменения.Вставить("СтоимостьБУ", 0);
ЗначенияРеквизитовДоИзменения.Вставить("СтоимостьНУ", 0);
ТекущиеДанные = Элементы.ОС.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
ЗаполнитьЗначенияСвойств(ЗначенияРеквизитовДоИзменения, ТекущиеДанные);
КонецЕсли;
ЗначенияРеквизитовОСДоИзменения = Новый ФиксированнаяСтруктура(ЗначенияРеквизитовДоИзменения);
КонецПроцедуры
&НаКлиенте
Процедура ВыборТипаДанныхОснованияЗавершение(ВыбранныйЭлемент, СписокПараметров) Экспорт
Если ВыбранныйЭлемент = Неопределено Тогда
Возврат
КонецЕсли;
ИмяОткрываемойФормы = "";
Если ВыбранныйЭлемент.Значение = Тип("ДокументСсылка.ЗаключениеДоговораАренды") Тогда
ИмяОткрываемойФормы = "Документ.ЗаключениеДоговораАренды.ФормаВыбора";
ИначеЕсли ВыбранныйЭлемент.Значение = Тип("ДокументСсылка.ИзменениеУсловийДоговораАренды") Тогда
ИмяОткрываемойФормы = "Документ.ИзменениеУсловийДоговораАренды.ФормаВыбора";
КонецЕсли;
ОтборСписка = Новый Структура;
ОтборСписка.Вставить("Проведен", Истина);
Если ЗначениеЗаполнено(Объект.Организация) Тогда
ОтборСписка.Вставить("Организация", Объект.Организация);
КонецЕсли;
ОписаниеОповещения = Новый ОписаниеОповещения("ДокументНаОснованииПриИзмененииЗавершение", ЭтотОбъект);
ПараметрыФормы = Новый Структура;
ПараметрыФормы.Вставить("Отбор", ОтборСписка);
ОткрытьФорму(ИмяОткрываемойФормы, ПараметрыФормы,,,,, ОписаниеОповещения);
КонецПроцедуры
&НаКлиенте
Процедура ДокументНаОснованииПриИзмененииЗавершение(РезультатЗакрытия, ДополнительныеПараметры) Экспорт
Если ЗначениеЗаполнено(РезультатЗакрытия) Тогда
Объект.ДокументОснование = РезультатЗакрытия;
Объект.ДокументНаОсновании = Истина;
Иначе
Объект.ДокументНаОсновании = Ложь;
КонецЕсли;
Если ЗначениеЗаполнено(Объект.ДокументОснование) Тогда
ТекстВопроса = НСтр("ru = 'Заполнить документ по данным документа-основания?'");
ОписаниеОповещения = Новый ОписаниеОповещения("ЗаполнитьПоДаннымОснованияЗавершение", ЭтотОбъект);
ПоказатьВопрос(ОписаниеОповещения, ТекстВопроса, РежимДиалогаВопрос.ДаНет);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗаполнитьПоДаннымОснованияЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
Если РезультатВопроса = КодВозвратаДиалога.Да Тогда
ЗаполнитьПоДаннымОснованияНаСервере();
КонецЕсли;
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьПоДаннымОснованияНаСервере()
Если ТипЗнч(Объект.ДокументОснование) = Тип("ДокументСсылка.ЗаключениеДоговораАренды") Тогда
Документы.ПринятиеКУчетуОС2_4.ЗаполнитьНаОснованииЗаключенияДоговораАренды(Объект, Объект.ДокументОснование);
ИначеЕсли ТипЗнч(Объект.ДокументОснование) = Тип("ДокументСсылка.ИзменениеУсловийДоговораАренды") Тогда
Документы.ПринятиеКУчетуОС2_4.ЗаполнитьНаОснованииИзмененияУсловийДоговораАренды(Объект, Объект.ДокументОснование);
КонецЕсли;
НастроитьЗависимыеЭлементыФормыНаСервере("Организация,ОтражатьВРеглУчете,ОтражатьВУпрУчете,ОсновноеСредство");
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьДоговорВТабличнойЧасти()
Если Объект.ХозяйственнаяОперация <> Перечисления.ХозяйственныеОперации.ПринятиеКУчетуПредметовАренды Тогда
Возврат;
КонецЕсли;
СписокОС = Новый Массив;
Для Каждого ДанныеСтроки Из Объект.ОС Цикл
Если ЗначениеЗаполнено(ДанныеСтроки.ОсновноеСредство) Тогда
СписокОС.Добавить(ДанныеСтроки.ОсновноеСредство);
КонецЕсли;
ДанныеСтроки.Договор = Неопределено;
ДанныеСтроки.ПредметАрендыУчитываетсяВНУ = Ложь;
КонецЦикла;
Если ЗначениеЗаполнено(Объект.Договор) Тогда
ПредметыАрендыУчитываютсяВНУ =
(ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.Договор, "Балансодержатель") = Перечисления.БалансодержательПредметовАренды.Арендатор);
ИначеЕсли СписокОС.Количество() <> 0 Тогда
ПредметыАрендыУчитываютсяВНУ = Ложь;
Иначе
ПредметыАрендыУчитываютсяВНУ = Истина;
КонецЕсли;
ТекстЗапроса =
"ВЫБРАТЬ
| АрендованныеОС.ОсновноеСредство,
| АрендованныеОС.Договор.Балансодержатель КАК Балансодержатель,
| АрендованныеОС.Договор
|ИЗ
| РегистрСведений.АрендованныеОС.СрезПоследних(
| &Дата,
| ОсновноеСредство В (&СписокОС)) КАК АрендованныеОС";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("Дата", Объект.Дата);
Запрос.УстановитьПараметр("Организация", Объект.Организация);
Запрос.УстановитьПараметр("СписокОС", СписокОС);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
СоответствиеДоговоров = Новый Соответствие();
Пока Выборка.Следующий() Цикл
ПараметрыДоговора = Новый Структура;
ПараметрыДоговора.Вставить("Договор", Выборка.Договор);
ПараметрыДоговора.Вставить(
"ПредметАрендыУчитываетсяВНУ",
Выборка.Балансодержатель = Перечисления.БалансодержательПредметовАренды.Арендатор);
СоответствиеДоговоров.Вставить(Выборка.ОсновноеСредство, ПараметрыДоговора);
Если ПараметрыДоговора.ПредметАрендыУчитываетсяВНУ Тогда
ПредметыАрендыУчитываютсяВНУ = Истина;
КонецЕсли;
КонецЦикла;
Для Каждого ДанныеСтроки Из Объект.ОС Цикл
ПараметрыДоговора = СоответствиеДоговоров.Получить(ДанныеСтроки.ОсновноеСредство);
Если ПараметрыДоговора <> Неопределено Тогда
ДанныеСтроки.Договор = ПараметрыДоговора.Договор;
ДанныеСтроки.ПредметАрендыУчитываетсяВНУ = ПараметрыДоговора.ПредметАрендыУчитываетсяВНУ;
КонецЕсли;
КонецЦикла;
ВнеоборотныеАктивыСлужебный.УстановитьСвойствоСтруктуры(
"ПредметыАрендыУчитываютсяВНУ",
ПредметыАрендыУчитываютсяВНУ,
СлужебныеПараметрыФормы);
КонецПроцедуры
&НаСервере
Процедура ПорядокУчетаБУПриИзмененииНаСервере()
ИзмененныеРеквизиты = ВнеоборотныеАктивыКлиентСервер.ПриИзмененииПорядкаУчетаБУ_ОС(Объект, СлужебныеПараметрыФормы, Истина);
Если ЗначениеЗаполнено(Объект.СтатьяРасходовБУ) Тогда
ВариантыРаспределенияРасходов = ВнеоборотныеАктивыКлиентСервер.ДоступныеВариантыРаспределенияРасходов(Объект.ПорядокУчетаБУ);
Если ВариантыРаспределенияРасходов.Количество() <> 0 Тогда
ВариантРаспределения = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.СтатьяРасходовБУ, "ВариантРаспределенияРасходовРегл");
Если ВариантыРаспределенияРасходов.Найти(ВариантРаспределения) = Неопределено Тогда
Объект.СтатьяРасходовБУ = Неопределено;
Объект.АналитикаРасходовБУ = Неопределено;
ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элементы.СтатьяРасходовБУ);
ИзмененныеРеквизиты = ИзмененныеРеквизиты + ",СтатьяРасходовБУ,АналитикаРасходовБУ";
КонецЕсли;
КонецЕсли;
КонецЕсли;
НастроитьЗависимыеЭлементыФормыНаСервере(ИзмененныеРеквизиты);
КонецПроцедуры
&НаСервере
Процедура ПорядокУчетаУУПриИзмененииНаСервере()
ИзмененныеРеквизиты = ВнеоборотныеАктивыКлиентСервер.ПриИзмененииПорядкаУчетаУУ_ОС(Объект, СлужебныеПараметрыФормы, Истина);
ИзмененныеРеквизиты = "ПорядокУчетаУУ" + ?(НЕ ПустаяСтрока(ИзмененныеРеквизиты), "," + ИзмененныеРеквизиты, "");
Если ЗначениеЗаполнено(Объект.СтатьяРасходовУУ) Тогда
ВариантыРаспределенияРасходов = ВнеоборотныеАктивыКлиентСервер.ДоступныеВариантыРаспределенияРасходов(Объект.ПорядокУчетаУУ);
Если ВариантыРаспределенияРасходов.Количество() <> 0 Тогда
ВариантРаспределения = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Объект.СтатьяРасходовУУ, "ВариантРаспределенияРасходовУпр");
Если ВариантыРаспределенияРасходов.Найти(ВариантРаспределения) = Неопределено Тогда
Объект.СтатьяРасходовУУ = Неопределено;
Объект.АналитикаРасходовУУ = Неопределено;
ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элементы.СтатьяРасходовУУ);
ИзмененныеРеквизиты = ИзмененныеРеквизиты + ",СтатьяРасходовУУ,АналитикаРасходовУУ";
КонецЕсли;
КонецЕсли;
КонецЕсли;
НастроитьЗависимыеЭлементыФормыНаСервере(ИзмененныеРеквизиты);
КонецПроцедуры
&НаСервереБезКонтекста
Функция НадписьКорректировкаАмортизации(Знач Ссылка, Знач ЕстьПравоДобавления)
ТекстЗапроса =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Проведен КАК Проведен,
| ДанныеДокумента.Приоритет КАК Приоритет
|ИЗ
| (ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Проведен КАК Проведен,
| 1 КАК Приоритет
| ИЗ
| Документ.КорректировкаСтоимостиИАмортизацииОС КАК ДанныеДокумента
| ГДЕ
| ДанныеДокумента.ДокументОснование = &Ссылка
| И ДанныеДокумента.Проведен
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| ДанныеДокумента.Ссылка КАК Ссылка,
| ДанныеДокумента.Номер КАК Номер,
| ДанныеДокумента.Дата КАК Дата,
| ДанныеДокумента.Проведен КАК Проведен,
| 2 КАК Приоритет
| ИЗ
| Документ.КорректировкаСтоимостиИАмортизацииОС КАК ДанныеДокумента
| ГДЕ
| ДанныеДокумента.ДокументОснование = &Ссылка
| И НЕ ДанныеДокумента.Проведен
| И НЕ ДанныеДокумента.ПометкаУдаления
|
| ) КАК ДанныеДокумента
|
|УПОРЯДОЧИТЬ ПО
| Приоритет
|";
Запрос = Новый Запрос(ТекстЗапроса);
Запрос.УстановитьПараметр("Ссылка", Ссылка);
Результат = Запрос.Выполнить();
Выборка = Результат.Выбрать();
СписокСтрок = Новый Массив;
Если Выборка.Следующий() Тогда
Если Выборка.Проведен Тогда
Текст = НСтр("ru = 'Оформлена корректировка %1 от %2'");
Иначе
Текст = НСтр("ru = 'Создана корректировка %1 от %2 (не проведен)'");
КонецЕсли;
Текст = СтрШаблон(Текст, Выборка.Номер, Формат(Выборка.Дата, "ДЛФ=D;"));
Текст = Новый ФорматированнаяСтрока(Текст,,,, ПолучитьНавигационнуюСсылку(Выборка.Ссылка));
СписокСтрок.Добавить(Текст);
Иначе
СписокСтрок.Добавить(НСтр("ru = 'Корректировка амортизации не создана'"));
Если ЕстьПравоДобавления Тогда
СписокСтрок.Добавить(" ");
СписокСтрок.Добавить("(");
СписокСтрок.Добавить(Новый ФорматированнаяСтрока(НСтр("ru = 'создать'"),,,, "#Создать"));
СписокСтрок.Добавить(")");
КонецЕсли;
КонецЕсли;
Возврат Новый ФорматированнаяСтрока(СписокСтрок);
КонецФункции
&НаКлиенте
Процедура СоздатьКорректировкуЗавершение(РезультатВопроса, ДополнительныеПараметры) Экспорт
Если Не ЗначениеЗаполнено(Объект.Ссылка)
ИЛИ Модифицированность Тогда
Если РезультатВопроса <> КодВозвратаДиалога.Да Тогда
Возврат;
КонецЕсли;
ПараметрыЗаписи = Новый Структура("РежимЗаписи", РежимЗаписиДокумента.Проведение);
Если НЕ Записать(ПараметрыЗаписи) Тогда
Возврат;
КонецЕсли;
КонецЕсли;
ПараметрыФормы = Новый Структура("Основание", Объект.Ссылка);
ОткрытьФорму("Документ.КорректировкаСтоимостиИАмортизацииОС.Форма.ФормаДокумента", ПараметрыФормы);
КонецПроцедуры
#КонецОбласти
#КонецОбласти