Начисления по кредитам и депозитам / Форма документа / Модуль формы

файл

&НаКлиенте
Перем КэшированныеЗначения; //используется механизмом обработки изменения реквизитов ТЧ

#Область ОбработчикиСобытийФормы

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

&НаКлиенте
Процедура ОбработкаВыбора(РезультатВыбора, ИсточникВыбора)
	
	Если ТипЗнч(РезультатВыбора) = Тип("Структура") Тогда
		Если РезультатВыбора.Свойство("АдресНачисленийВХранилище") Тогда
			ПолучитьНачисленияИзХранилища(РезультатВыбора.АдресНачисленийВХранилище);
			Модифицированность = Истина;
		КонецЕсли;
	КонецЕсли;
	
КонецПроцедуры

&НаСервере
Процедура ПриЧтенииНаСервере(ТекущийОбъект)
	
	ПриЧтенииСозданииНаСервере();
	
	ПараметрыВыбораСтатейИАналитик = Документы.НачисленияКредитовИДепозитов.ПараметрыВыбораСтатейИАналитик(Объект.ХозяйственнаяОперация);
	ДоходыИРасходыСервер.ПриЧтенииНаСервере(ЭтотОбъект, ПараметрыВыбораСтатейИАналитик);
	
	// Обработчик механизма "ДатыЗапретаИзменения"
	ДатыЗапретаИзменения.ОбъектПриЧтенииНаСервере(ЭтаФорма, ТекущийОбъект);
	
	СобытияФорм.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
	// СтандартныеПодсистемы.УправлениеДоступом
	УправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.УправлениеДоступом
	
	ИсправлениеДокументов.ПриЧтенииНаСервере(ЭтаФорма, Элементы.СтрокаИсправление);
	
КонецПроцедуры

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
	
	Оповестить("Запись_НачисленияКредитовИДепозитов", ПараметрыЗаписи, Объект.Ссылка);
	
	МодификацияКонфигурацииКлиентПереопределяемый.ПослеЗаписи(ЭтаФорма, ПараметрыЗаписи);
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	Если ОбщегоНазначенияКлиент.ПодсистемаСуществует("СтандартныеПодсистемы.ПодключаемыеКоманды") Тогда
		МодульПодключаемыеКомандыКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("ПодключаемыеКомандыКлиент");
		МодульПодключаемыеКомандыКлиент.ПослеЗаписи(ЭтотОбъект, Объект, ПараметрыЗаписи);
	КонецЕсли;
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
	ИсправлениеДокументовКлиент.ПослеЗаписи(Объект);
	
КонецПроцедуры

&НаСервере
Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи)
	
	МодификацияКонфигурацииПереопределяемый.ПередЗаписьюНаСервере(ЭтаФорма, Отказ, ТекущийОбъект, ПараметрыЗаписи);
	
	// ИнтеграцияС1СДокументооборотом
	ИнтеграцияС1СДокументооборотБазоваяФункциональность.ПередЗаписьюНаСервере(ЭтаФорма, ТекущийОбъект, ПараметрыЗаписи);
	// Конец ИнтеграцияС1СДокументооборотом
	
КонецПроцедуры

&НаСервере
Процедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи)
	
	// СтандартныеПодсистемы.УправлениеДоступом
	УправлениеДоступом.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
	УправлениеДоступом.ПриЧтенииНаСервере(ЭтотОбъект, ТекущийОбъект);
	// Конец СтандартныеПодсистемы.УправлениеД
	
	ДоходыИРасходыСервер.ПослеЗаписиНаСервере(ЭтотОбъект);
	
	МодификацияКонфигурацииПереопределяемый.ПослеЗаписиНаСервере(ЭтаФорма, ТекущийОбъект, ПараметрыЗаписи);
	
	СобытияФорм.ПослеЗаписиНаСервере(ЭтотОбъект, ТекущийОбъект, ПараметрыЗаписи);
	
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
	
	СобытияФормКлиент.ОбработкаОповещения(ЭтотОбъект, ИмяСобытия, Параметр, Источник);
	
	ИсправлениеДокументовКлиент.ОбработкаОповещения(ЭтаФорма, ИмяСобытия, Параметр, Источник);
	
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
	
	// СтандартныеПодсистемы.ПодключаемыеКоманды
	ПодключаемыеКомандыКлиент.НачатьОбновлениеКоманд(ЭтотОбъект);
	// Конец СтандартныеПодсистемы.ПодключаемыеКоманды
	
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиСобытийЭлементовШапкиФормы

&НаКлиенте
Процедура ХозяйственнаяОперацияПриИзменении(Элемент)
	
	ХозяйственнаяОперацияПриИзмененииСервер();
	
КонецПроцедуры

&НаСервере
Процедура ХозяйственнаяОперацияПриИзмененииСервер()
	
	ПараметрыВыбораСтатейИАналитик = Документы.НачисленияКредитовИДепозитов.ПараметрыВыбораСтатейИАналитик(Объект.ХозяйственнаяОперация);
	ДоходыИРасходыСервер.ПриИзмененииПараметровВыбораСтатей(ЭтотОбъект, ПараметрыВыбораСтатейИАналитик);
	
	ПроверитьДоговорКредитовИДепозитов();
	
	УправлениеЭлементамиФормы();
	
КонецПроцедуры

&НаКлиенте
Процедура ОрганизацияПриИзменении(Элемент)
	
	УстановитьПараметрыВыбораДоговора();
	
КонецПроцедуры

&НаКлиенте
Процедура СтрокаИсправлениеОбработкаНавигационнойСсылки(Элемент, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка)
		
		ИсправлениеДокументовКлиент.СтрокаИсправлениеОбработкаНавигационныйСсылки(
			ЭтотОбъект, НавигационнаяСсылкаФорматированнойСтроки, СтандартнаяОбработка);
			
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиСобытийЭлементовТаблицыФормыНачисления

&НаКлиенте
Процедура НачисленияВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
	
	Возврат;
	
КонецПроцедуры

&НаКлиенте
Процедура НачисленияПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
	
	Если НоваяСтрока И Не Копирование Тогда
		
		ТекущиеДанные = Элементы.Начисления.ТекущиеДанные;
		ТекущиеДанные.ТипСуммыГрафика = ПредопределенноеЗначение("Перечисление.ТипыСуммГрафикаКредитовИДепозитов.Проценты");
		ДоходыИРасходыКлиентСервер.ПриДобавленииСтрокиВТаблицу(ЭтотОбъект, ТекущиеДанные, "Объект.Начисления");
	
	КонецЕсли;
	
КонецПроцедуры

&НаКлиенте
Процедура ПартнерПриИзменении(Элемент)
	
	ТекущиеДанные = Элементы.Начисления.ТекущиеДанные;
	ПартнерПриИзмененииНаСервере(ТекущиеДанные.Партнер, ТекущиеДанные.Контрагент);
	
КонецПроцедуры

&НаСервереБезКонтекста
Процедура ПартнерПриИзмененииНаСервере(Партнер, Контрагент)
	
	ПартнерыИКонтрагенты.ЗаполнитьКонтрагентаПартнераПоУмолчанию(Партнер, Контрагент);
	
КонецПроцедуры

&НаКлиенте
Процедура ДоговорПриИзменении(Элемент)
	
	ДоговорПриИзмененииНаСервере(КэшированныеЗначения);
	
КонецПроцедуры

&НаСервере
Процедура ДоговорПриИзмененииНаСервере(КэшированныеЗначения)
	
	ТекущиеДанные = Объект.Начисления.НайтиПоИдентификатору(Элементы.Начисления.ТекущаяСтрока);
	
	Договор = РеквизитыДоговораСервер(ТекущиеДанные.Договор);
	
	ТекущиеДанные.Подразделение = Договор.Подразделение;
	ТекущиеДанные.НаправлениеДеятельности = Договор.НаправлениеДеятельности;
	
	Если ТекущиеДанные.ВалютаВзаиморасчетов <> Договор.ВалютаВзаиморасчетов Тогда
		ТекущиеДанные.ВалютаВзаиморасчетов = Договор.ВалютаВзаиморасчетов;
		ТекущиеДанные.СуммаВзаиморасчетов = 0;
	КонецЕсли;
	
	Если ТекущиеДанные.ТипСуммыГрафика = Перечисления.ТипыСуммГрафикаКредитовИДепозитов.Проценты Тогда
		ТекущиеДанные.СтатьяДоходовРасходов = Договор.СтатьяДоходовРасходовПроцентов;
	ИначеЕсли ТекущиеДанные.ТипСуммыГрафика = Перечисления.ТипыСуммГрафикаКредитовИДепозитов.Комиссия Тогда
		ТекущиеДанные.СтатьяДоходовРасходов = Договор.СтатьяДоходовРасходовКомиссии;
	КонецЕсли;
	
	ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элементы.СтатьяДоходовРасходов);
	
КонецПроцедуры

&НаКлиенте
Процедура СтатьяДоходовРасходовПриИзменении(Элемент)
	
	СтатьяДоходовРасходовПриИзмененииСервер();
	
КонецПроцедуры

&НаСервере
Процедура СтатьяДоходовРасходовПриИзмененииСервер()
	
	ДоходыИРасходыКлиентСервер.СтатьяПриИзменении(ЭтотОбъект, Элементы.СтатьяДоходовРасходов);
	
КонецПроцедуры

&НаКлиенте
Процедура СтатьяДоходовРасходовНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	ДоходыИРасходыКлиент.НачалоВыбораСтатьи(ЭтотОбъект, Элемент, СтандартнаяОбработка);
	
КонецПроцедуры

&НаКлиенте
Процедура НачисленияАналитикаРасходовНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.НачалоВыбораАналитикиРасходов(ЭтотОбъект, Элемент, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура НачисленияАналитикаРасходовАвтоПодбор(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, Ожидание, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.АвтоПодборАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
КонецПроцедуры

&НаКлиенте
Процедура НачисленияАналитикаРасходовОкончаниеВводаТекста(Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка)
	ДоходыИРасходыКлиент.ОкончаниеВводаТекстаАналитикиРасходов(ЭтотОбъект, Элемент, Текст, ДанныеВыбора, ПараметрыПолученияДанных, СтандартнаяОбработка);
КонецПроцедуры

#КонецОбласти

#Область ОбработчикиКомандФормы

&НаСервере
Процедура ВыполнитьКомандуНаСервере(ПараметрыВыполнения)
	ПодключаемыеКоманды.ВыполнитьКоманду(ЭтотОбъект, ПараметрыВыполнения, Объект);
КонецПроцедуры


&НаКлиенте
Процедура Подключаемый_ПродолжитьВыполнениеКомандыНаСервере(ПараметрыВыполнения, ДополнительныеПараметры) Экспорт
	ВыполнитьКомандуНаСервере(ПараметрыВыполнения);
КонецПроцедуры


&НаКлиенте
Процедура ЗаписатьДокумент(Команда)
	
	ОбщегоНазначенияУТКлиент.Записать(ЭтаФорма);
	
КонецПроцедуры

&НаКлиенте
Процедура ВыбратьПериод(Команда)
	
	ОбщегоНазначенияУТКлиент.РедактироватьПериод(Объект);
	
КонецПроцедуры

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

&НаКлиенте
Функция ПроверитьЗаполнениеПолейОтбора()
	
	Результат = Истина;
	
	ОчиститьСообщения();
	
	Если Не ЗначениеЗаполнено(Объект.ХозяйственнаяОперация) Тогда
		Текст = НСтр("ru='Для заполнения начислений требуется указание хозяйственной операции.'");
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Текст,, "ХозяйственнаяОперация", "Объект");
		Результат = Ложь;
	КонецЕсли;
	
	Если Не ЗначениеЗаполнено(Объект.Организация) Тогда
		Текст = НСтр("ru='Для заполнения начислений требуется указание организации.'");
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(Текст,, "Организация", "Объект");
		Результат = Ложь;
	КонецЕсли;
	
	Возврат Результат;
	
КонецФункции

// ИнтеграцияС1СДокументооборотом
&НаКлиенте
Процедура Подключаемый_ВыполнитьКомандуИнтеграции(Команда)
	
	ИнтеграцияС1СДокументооборотБазоваяФункциональностьКлиент.ВыполнитьПодключаемуюКомандуИнтеграции(Команда, ЭтаФорма, Объект);
	
КонецПроцедуры
// Конец ИнтеграцияС1СДокументооборотом

&НаКлиенте
Процедура Подключаемый_ВыполнитьПереопределяемуюКоманду(Команда)
	
	СобытияФормКлиент.ВыполнитьПереопределяемуюКоманду(ЭтаФорма, Команда);
	
КонецПроцедуры

&НаКлиенте
Процедура ПровестиДокумент(Команда)
	
	ОбщегоНазначенияУТКлиент.Провести(ЭтаФорма);
	
КонецПроцедуры

&НаКлиенте
Процедура ПровестиИЗакрыть(Команда)
	
	ОбщегоНазначенияУТКлиент.ПровестиИЗакрыть(ЭтаФорма);
	
КонецПроцедуры

// СтандартныеПодсистемы.ПодключаемыеКоманды
&НаКлиенте
Процедура Подключаемый_ВыполнитьКоманду(Команда)
	ПодключаемыеКомандыКлиент.НачатьВыполнениеКоманды(ЭтотОбъект, Команда, Объект);
КонецПроцедуры

&НаКлиенте
Процедура Подключаемый_ОбновитьКоманды()
	ПодключаемыеКомандыКлиентСервер.ОбновитьКоманды(ЭтотОбъект, Объект);
КонецПроцедуры
// Конец СтандартныеПодсистемы.ПодключаемыеКоманды

&НаКлиенте
Процедура УстановитьПометкуУдаления(Команда)
	
	ОбщегоНазначенияУТКлиент.УстановитьПометкуУдаленияДокумента(ЭтотОбъект);

КонецПроцедуры
#КонецОбласти

#Область СлужебныеПроцедурыИФункции

&НаСервере
Процедура УстановитьУсловноеОформление()
	
	УсловноеОформление.Элементы.Очистить();
	
	//
	
	Элемент = УсловноеОформление.Элементы.Добавить();
	
	ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
	ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.СтатьяДоходовРасходов.Имя);
	
	ГруппаОтбора1 = Элемент.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
	ГруппаОтбора1.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
	
	ОтборЭлемента = ГруппаОтбора1.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Начисления.ТипСуммыГрафика");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно;
	ОтборЭлемента.ПравоеЗначение = Перечисления.ТипыСуммГрафикаКредитовИДепозитов.Комиссия;
	
	ОтборЭлемента = ГруппаОтбора1.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Начисления.СтатьяДоходовРасходов");
	ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено;
	Элемент.Оформление.УстановитьЗначениеПараметра("ОтметкаНезаполненного", Истина);
	
КонецПроцедуры

&НаСервере
Процедура ПриЧтенииСозданииНаСервере()
	
	Если Не ПолучитьФункциональнуюОпцию("ИспользоватьУчетПрочихАктивовПассивов") Тогда
		Элементы.СтатьяДоходовРасходов.Заголовок = НСтр("ru = 'Статья доходов / расходов'");
	КонецЕсли;
	
	УправлениеЭлементамиФормы();
	
КонецПроцедуры

&НаСервере
Процедура УправлениеЭлементамиФормы()
	
	УстановитьПараметрыВыбораДоговора();
	
	ПараметрыВыбораНаправленияДеятельности = Новый Массив;
	
	Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.НачисленияПоКредитам Тогда
		ПараметрыВыбораНаправленияДеятельности.Добавить(Новый ПараметрВыбора("Отбор.УчетЗатрат", Истина));
	Иначе
		ПараметрыВыбораНаправленияДеятельности.Добавить(Новый ПараметрВыбора("Отбор.УчетДоходов", Истина));
	КонецЕсли;
	
	ПараметрыВыбораНаправленияДеятельности.Добавить(Новый ПараметрВыбора("Отбор.Статус", Перечисления.СтатусыНаправленияДеятельности.Используется));
	
	Элементы.НаправлениеДеятельности.ПараметрыВыбора = Новый ФиксированныйМассив(ПараметрыВыбораНаправленияДеятельности);
	
	ПартнерыИКонтрагенты.ЗаголовокЭлементаПартнерВЗависимостиОтХозяйственнойОперации( ЭтотОбъект, "Партнер", Объект.ХозяйственнаяОперация);
	
КонецПроцедуры

&НаСервереБезКонтекста
Функция РеквизитыДоговораСервер(Договор)
	
	Возврат ОбщегоНазначения.ЗначенияРеквизитовОбъекта(Договор,
		"Партнер, Контрагент, ВалютаВзаиморасчетов, СтатьяДоходовРасходовПроцентов, СтатьяДоходовРасходовКомиссии, ХарактерДоговора,
		|Подразделение, НаправлениеДеятельности");
	
КонецФункции

&НаСервере
Процедура УстановитьПараметрыВыбораДоговора(Партнер = Неопределено, Контрагент = Неопределено)
	
	МассивПараметров = Новый Массив;
	МассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.ПометкаУдаления",Ложь));
	МассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.Статус", Перечисления.СтатусыДоговоровКонтрагентов.Действует));
	МассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.ХарактерДоговора",
		Справочники.ДоговорыКредитовИДепозитов.ХарактерДоговораПоОперации(Объект.ХозяйственнаяОперация)));
		
	Если Не Объект.Организация.Пустая() Тогда
		МассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.Организация", Объект.Организация));
	КонецЕсли;
	
	Если ЗначениеЗаполнено(Партнер) Тогда
		МассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.Партнер", Партнер));
	КонецЕсли;
	
	Если ЗначениеЗаполнено(Контрагент) Тогда
		МассивПараметров.Добавить(Новый ПараметрВыбора("Отбор.Контрагент", Контрагент));
	КонецЕсли;
	
	Элементы.Договор.ПараметрыВыбора = Новый ФиксированныйМассив(МассивПараметров);
	
КонецПроцедуры

&НаСервере
Функция АдресНачисленийВХранилище()
	
	Возврат ПоместитьВоВременноеХранилище(Объект.Начисления.Выгрузить(), УникальныйИдентификатор);
	
КонецФункции

&НаСервере
Процедура ПолучитьНачисленияИзХранилища(АдресНачисленийВХранилище)
	
	Объект.Начисления.Загрузить(ПолучитьИзВременногоХранилища(АдресНачисленийВХранилище));
	
	Если Объект.Начисления.Количество() = 0 Тогда
		
		ОрганизацияЗаПериод = НСтр("ru = 'Для организации ""%1"" за период с %2 по %3'");
		ОрганизацияЗаПериод = СтрШаблон(
			ОрганизацияЗаПериод, Объект.Организация, Формат(Объект.ДатаНачала, "ДЛФ=D"), Формат(Объект.ДатаОкончания, "ДЛФ=D"));
			
		Если Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.НачисленияПоКредитам Тогда
			ПоДоговорам = НСтр("ru = 'по действующим договорам кредитов и полученных займов не обнаружены графики начислений'");
		ИначеЕсли Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.НачисленияПоДепозитам Тогда
			ПоДоговорам = НСтр("ru = 'по действующим договорам депозитов не обнаружены графики начислений'");
		ИначеЕсли Объект.ХозяйственнаяОперация = Перечисления.ХозяйственныеОперации.НачисленияПоЗаймамВыданным Тогда
			ПоДоговорам = НСтр("ru = 'по действующим договорам выданных займов не обнаружены графики начислений'");
		КонецЕсли;
		
		ТекстСообщения = ОрганизацияЗаПериод + Символы.ПС + ПоДоговорам + ".";
		ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстСообщения);
	КонецЕсли;
	
	ПараметрыВыбораСтатейИАналитик = Документы.НачисленияКредитовИДепозитов.ПараметрыВыбораСтатейИАналитик(Объект.ХозяйственнаяОперация);
	ДоходыИРасходыСервер.ПриЧтенииНаСервере(ЭтотОбъект, ПараметрыВыбораСтатейИАналитик);
	
КонецПроцедуры

&НаСервере
Процедура ПроверитьДоговорКредитовИДепозитов()

	ХарактерДоговора = Справочники.ДоговорыКредитовИДепозитов.ХарактерДоговораПоОперации(Объект.ХозяйственнаяОперация);
	ТаблицаНачислений = Объект.Начисления.Выгрузить();
	
	Запрос = Новый Запрос;
	Запрос.Текст = 
		"ВЫБРАТЬ
		|	НачисленияКредитовИДепозитовНачисления.Договор КАК Договор,
		|	НачисленияКредитовИДепозитовНачисления.НомерСтроки КАК НомерСтроки
		|ПОМЕСТИТЬ ТаблицаНачислений
		|ИЗ
		|	&Начисления КАК НачисленияКредитовИДепозитовНачисления
		|;
		|
		|////////////////////////////////////////////////////////////////////////////////
		|ВЫБРАТЬ
		|	ТаблицаНачислений.НомерСтроки КАК НомерСтроки
		|ИЗ
		|	ТаблицаНачислений КАК ТаблицаНачислений
		|ГДЕ
		|	ТаблицаНачислений.Договор.ХарактерДоговора <> &ХарактерДоговора";
	
	Запрос.УстановитьПараметр("Начисления", ТаблицаНачислений);
	Запрос.УстановитьПараметр("ХарактерДоговора", ХарактерДоговора);
	
	РезультатЗапроса = Запрос.Выполнить().Выбрать();
	
	Пока РезультатЗапроса.Следующий() Цикл
		
		СтрокаТаблицы =  Объект.Начисления.Получить(РезультатЗапроса.НомерСтроки - 1);
		СтрокаТаблицы.Договор = Справочники.ДоговорыКредитовИДепозитов.ПустаяСсылка();
		
	КонецЦикла;

КонецПроцедуры

#КонецОбласти

Связанные материалы