ВыполнитьПроведениеДокументаПриЗагрузке (БСП)

Автор: 1С
ОбщийМодуль.ОбменДаннымиXDTOСервер
БСП

Выполнить проведение документа при загрузке. Выполняет проведение документа при его загрузке в информационную базу.

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

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ВыполнитьОтложенноеПроведениеДокументов (БСП)

Попытка проведения и записи документа в одной процедуре

Программное проведение документа

ЗарегистрироватьОшибкуПроведенияДокумента (БСП)

ПроверитьПроведенностьДокументов (БСП)

ИнформацияОДокументах (БСП)

ПроверитьПроведенностьДокументовПроведениеДокументов (БСП)

TurboConf - расширение Конфигуратора 1С