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