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