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