Всем огромное спасибо!
Всё получилось простым способом. Выгрузил документ в текстовый файл, удалил, обновил конфигурацию, загрузил документ из файла.
Процедура Выгрузить()
Если ВыбДокумент.Выбран() = 0 Тогда
Возврат;
КонецЕсли;
ВидДокумента = ВыбДокумент.Вид();
ДанныеДокумента = СоздатьОбъект("СписокЗначений");
ДанныеДокумента.Установить("Вид", ВыбДокумент.Вид());
ДанныеДокумента.Установить("ДатаДок", ВыбДокумент.ДатаДок);
ДанныеДокумента.Установить("НомерДок", ВыбДокумент.НомерДок);
ДанныеДокумента.Установить("Проведен", ВыбДокумент.Проведен());
ДанныеДокумента.Установить("ПометкаУдаления", ВыбДокумент.ПометкаУдаления());
ВремяДокЧас = 0;
ВремяДокМин = 0;
ВремяДокСек = 0;
ВыбДокумент.ПолучитьВремя(ВремяДокЧас, ВремяДокМин, ВремяДокСек);
ДанныеДокумента.Установить("ВремяДокЧас", ВремяДокЧас);
ДанныеДокумента.Установить("ВремяДокМин", ВремяДокМин);
ДанныеДокумента.Установить("ВремяДокСек", ВремяДокСек);
Для Идн=1 По Метаданные.Документ(ВидДокумента).РеквизитШапки() Цикл
ИмяРеквизита = Метаданные.Документ(ВидДокумента).РеквизитШапки(Идн).Идентификатор;
Значение = ВыбДокумент.ПолучитьАтрибут(ИмяРеквизита);
ДанныеДокумента.Установить(ИмяРеквизита, Значение);
КонецЦикла;
ТабличнаяЧасть = СоздатьОбъект("ТаблицаЗначений");
ВыбДокумент.ВыгрузитьТабличнуюЧасть(ТабличнаяЧасть);
ДанныеДокумента.Установить("ТабличнаяЧасть", ТабличнаяЧасть);
ЗначениеВФайл(ИмяФайла, ДанныеДокумента);
КонецПроцедуры
//======================================================================
Процедура Загрузить()
Если ПустаяСтрока(ИмяФайла) = 1 Тогда
Возврат;
КонецЕсли;
ДанныеДокумента = СоздатьОбъект("СписокЗначений");
ЗначениеИзФайла(ИмяФайла, ДанныеДокумента);
Документ = СоздатьОбъект("Документ." + ДанныеДокумента.Получить("Вид"));
Документ.Новый();
Для Идн = 1 по ДанныеДокумента.РазмерСписка() Цикл
ИмяРеквизита = "";
Значение = ДанныеДокумента.ПолучитьЗначение(Идн, ИмяРеквизита);
Если ИмяРеквизита = "Вид" Тогда
Продолжить;
ИначеЕсли ИмяРеквизита = "Проведен" Тогда
Продолжить;
ИначеЕсли ИмяРеквизита = "ПометкаУдаления" Тогда
Продолжить;
ИначеЕсли ИмяРеквизита = "ВремяДокЧас" Тогда
Продолжить;
ИначеЕсли ИмяРеквизита = "ВремяДокМин" Тогда
Продолжить;
ИначеЕсли ИмяРеквизита = "ВремяДокСек" Тогда
Продолжить;
ИначеЕсли ИмяРеквизита = "ТабличнаяЧасть" Тогда
Документ.ЗагрузитьТабличнуюЧасть(Значение);
Иначе
Документ.УстановитьАтрибут(ИмяРеквизита, Значение);
КонецЕсли;
КонецЦикла;
Документ.Записать();
Документ.УстановитьВремя(ДанныеДокумента.Получить("ВремяДокЧас"), ДанныеДокумента.Получить("ВремяДокМин"), ДанныеДокумента.Получить("ВремяДокСек"));
Если ДанныеДокумента.Получить("Проведен") = 1 Тогда
Документ.Провести();
ИначеЕсли ДанныеДокумента.Получить("ПометкаУдаления") = 1 Тогда
Документ.Удалить(0);
КонецЕсли;
КонецПроцедуры // Загрузить
Процедура Удалить()
Если ВыбДокумент.Выбран() = 0 Тогда
Возврат;
КонецЕсли;
Если Вопрос("Вы действительно хотите удалить Документ?", "Да+Нет+Отмена")<>"Да" Тогда
Возврат;
КонецЕсли;
Документ = СоздатьОбъект("Документ." + ВыбДокумент.Вид());
Если Документ.НайтиДокумент(ВыбДокумент) = 1 Тогда
Документ.Удалить();
КонецЕсли;
КонецПроцедуры // Удалить