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