Провести документы. Выполняет попытку проведения документов.
// Выполняет попытку проведения документов.
//
// Параметры:
// Документы - Массив - документы, которые необходимо провести.
//
// Возвращаемое значение:
// Массив - массив структур со свойствами:
// * Ссылка - ДокументСсылка - документ, который не удалось провести.
// * ОписаниеОшибки - Строка - текст описания ошибки при проведении.
//
Функция ПровестиДокументы(Документы) Экспорт
НепроведенныеДокументы = Новый Массив;
Для Каждого ДокументСсылка Из Документы Цикл
ВыполненоУспешно = Ложь;
ДокументОбъект = ДокументСсылка.ПолучитьОбъект();
Если ДокументОбъект.ПроверитьЗаполнение() Тогда
РежимПроведения = РежимПроведенияДокумента.Неоперативный;
Если ДокументОбъект.Дата >= НачалоДня(ТекущаяДатаСеанса())
И ДокументСсылка.Метаданные().ОперативноеПроведение = Метаданные.СвойстваОбъектов.ОперативноеПроведение.Разрешить Тогда
РежимПроведения = РежимПроведенияДокумента.Оперативный;
КонецЕсли;
Попытка
ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение, РежимПроведения);
ВыполненоУспешно = Истина;
Исключение
ПредставлениеОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
Иначе
ПредставлениеОшибки = НСтр("ru = 'Поля документа не заполнены.'");
КонецЕсли;
Если Не ВыполненоУспешно Тогда
НепроведенныеДокументы.Добавить(Новый Структура("Ссылка,ОписаниеОшибки", ДокументСсылка, ПредставлениеОшибки));
КонецЕсли;
КонецЦикла;
Возврат НепроведенныеДокументы;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
Изменение параметров команд формы из конфигурации без снятия с поддержки
Попытка проведения и записи документа в одной процедуре
ПровестиРезервноеКопированиеЗавершение (БСП)
СкопироватьДокумент, Копирование документа
Заполнение табличного документа
ТабличныйДокументПоДвоичнымДанным (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)