Каталог решений - КД 2.0. Перенос документов 7.7 — 7.7. Передача параметра Проведен

КД 2.0. Перенос документов 7.7 — 7.7. Передача параметра Проведен

КД 2.0. Перенос документов 7.7 — 7.7. Передача параметра Проведен

В наличии

1С:Конвертация данных 2.0. Решение проблемы проведения документов при переносе между базами 7.7

Категория:

Описание

При использовании конфигурации «Конвертация данных 2.0» для переноса документов между базами 7.7 не переносится статус документа, а именно: «Проведен», «Помечен на удаление».

Все документы при переносе стандартным механизмом «садятся» непроведенными.

При использовании ПКС «Проведен» появляется ошибка «Не верное имя реквизита Документ.ХХХ.Проведен».

Для решения данной проблемы нам придется:

  1. Добавить код в процедуру ПКО «ПриВыгрузке»:

УзелПараметра = DOMDocument.СоздатьУзел(1, «ЗначениеСтатуса», «»);
УзелПараметра.УстановитьАтрибут(«ИмяПараметра», «Статус»);
Если
Источник.Проведен()=1 тогда
    
Статус = «Проведен»;
ИначеЕсли
Источник.ПометкаУдаления()=1 тогда
    
Статус = «ПомеченНаУдаление»;
Иначе
    
Статус = «НеПроведен»;
КонецЕсли;
УзелПараметра.УстановитьАтрибут(«ЗначениеПараметра», Статус);
Приемник.ДобавитьПодчиненный(УзелПараметра);

  1. «Подправить» модуль загрузки в процедуре «ЗагрузитьДокументV8()». В конце добавляем:


УзелСтатус
= Объект.ВыбратьУзел(«ЗначениеСтатуса»);

Статус      =   УзелСтатус.ПолучитьАтрибут(«ЗначениеПараметра»);

Если Статус = «Проведен» Тогда
   Если
ОбъектБД.ПометкаУдаления() = 1 Тогда
        
ОбъектБД.СнятьПометкуУдаления();
   КонецЕсли;

   Попытка
       ОбъектБД.Провести();
   Исключение
      
Сообщить(«»+ОписаниеОшибки());
   КонецПопытки;

ИначеЕсли Статус = «ПомеченНаУдаление»  Тогда
   
ОбъектБД.Удалить(0);
Иначе
   Если
ОбъектБД.Проведен()=1 Тогда
        
ОбъектБД.СделатьНеПроведенным();
   ИначеЕсли
ОбъектБД.ПометкаУдаления() =1 Тогда
        
ОбъектБД.СнятьПометкуУдаления();
   КонецЕсли;
КонецЕсли;

has been added to your cart:
Оформление заказа