КД 2.0. Перенос документов 7.7 — 7.7. Передача параметра Проведен
1С:Конвертация данных 2.0. Решение проблемы проведения документов при переносе между базами 7.7
- Описание
- Подробнее
Описание
При использовании конфигурации «Конвертация данных 2.0» для переноса документов между базами 7.7 не переносится статус документа, а именно: «Проведен», «Помечен на удаление».
Все документы при переносе стандартным механизмом «садятся» непроведенными.
При использовании ПКС «Проведен» появляется ошибка «Не верное имя реквизита Документ.ХХХ.Проведен».
Для решения данной проблемы нам придется:
- Добавить код в процедуру ПКО «ПриВыгрузке»:
УзелПараметра = DOMDocument.СоздатьУзел(1, «ЗначениеСтатуса», «»);
УзелПараметра.УстановитьАтрибут(«ИмяПараметра», «Статус»);
Если Источник.Проведен()=1 тогда
Статус = «Проведен»;
ИначеЕсли Источник.ПометкаУдаления()=1 тогда
Статус = «ПомеченНаУдаление»;
Иначе
Статус = «НеПроведен»;
КонецЕсли;
УзелПараметра.УстановитьАтрибут(«ЗначениеПараметра», Статус);
Приемник.ДобавитьПодчиненный(УзелПараметра);
- «Подправить» модуль загрузки в процедуре «ЗагрузитьДокументV8()». В конце добавляем:
УзелСтатус = Объект.ВыбратьУзел(«ЗначениеСтатуса»);
Статус = УзелСтатус.ПолучитьАтрибут(«ЗначениеПараметра»);
Если Статус = «Проведен» Тогда
Если ОбъектБД.ПометкаУдаления() = 1 Тогда
ОбъектБД.СнятьПометкуУдаления();
КонецЕсли;
Попытка
ОбъектБД.Провести();
Исключение
Сообщить(«»+ОписаниеОшибки());
КонецПопытки;
ИначеЕсли Статус = «ПомеченНаУдаление» Тогда
ОбъектБД.Удалить(0);
Иначе
Если ОбъектБД.Проведен()=1 Тогда
ОбъектБД.СделатьНеПроведенным();
ИначеЕсли ОбъектБД.ПометкаУдаления() =1 Тогда
ОбъектБД.СнятьПометкуУдаления();
КонецЕсли;
КонецЕсли;

