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

Автор: 1С
ОбщийМодуль.ОбщегоНазначения
БСП

Провести документы. Выполняет попытку проведения документов.

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

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

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

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

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

ПровестиРезервноеКопированиеЗавершение (БСП)

Заполнение табличного документа

ТабличныйДокументПоДвоичнымДанным (БСП)

ЗаменитьОтветственногоВДокументе (БСП)

Объединение табличных документов

Сообщение с открытием только что созданного документа

Связанные документы

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз