Транспортная накладная / Модуль объекта

файл

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

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

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

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

Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
	
	Если ОбменДанными.Загрузка Тогда
		Возврат;
	КонецЕсли;
	
	ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан(ЭтотОбъект);
	
КонецПроцедуры

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

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

#Область ИнициализацияИЗаполнение

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

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

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

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


#КонецЕсли

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