Ожидаемое поступление денежных средств / Модуль объекта

файл
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

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

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

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

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

Процедура ОбработкаУдаленияПроведения(Отказ)
	
	ДатыРасчета = Новый Массив;
	ДатыРасчета.Добавить(НачалоДня(Дата));
	Если ДополнительныеСвойства.Свойство("ПредыдущаяДата") Тогда
		ДатыРасчета.Добавить(ДополнительныеСвойства.ПредыдущаяДата);
	КонецЕсли;
	
	НедействительныеДокументыОплаты = Новый Массив;
	НедействительныеДокументыОплаты.Добавить(Ссылка);
	
	РегистрыСведений.ГрафикПлатежей.РассчитатьГрафикПлатежейПоОжидаемымПоступлениямДенежныхСредств(
		ДатыРасчета, НедействительныеДокументыОплаты);
	
КонецПроцедуры

Процедура ПриКопировании(ОбъектКопирования)
	
	Ответственный = Пользователи.ТекущийПользователь();
	Автор = Пользователи.ТекущийПользователь();
	
КонецПроцедуры

Процедура ПриЗаписи(Отказ)
	
	Если ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;
	
КонецПроцедуры

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

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

Процедура ИнициализироватьДокумент(ДанныеЗаполнения = Неопределено)
	
	Организация = ЗначениеНастроекПовтИсп.ПолучитьОрганизациюПоУмолчанию(Организация);
	Если Не ЗначениеЗаполнено(Валюта) Тогда
		Валюта = ЗначениеНастроекПовтИсп.ВалютаРегламентированногоУчетаОрганизации(Организация);
	КонецЕсли;
	
	Если ЗначениеЗаполнено(Организация) Тогда
		Касса = Справочники.Кассы.ПолучитьКассуПоУмолчанию(Организация, Валюта);
		БанковскийСчет = Справочники.БанковскиеСчетаОрганизаций.ПолучитьБанковскийСчетОрганизацииПоУмолчанию(Организация, Валюта);
	КонецЕсли;
	
КонецПроцедуры

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

#КонецЕсли

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