Вход | Регистрация


КД2 - как при переносе попросить базу-приемник провести перенесенные документы?

КД2 - как при переносе попросить базу-приемник провести перенесенные документы?
Я
   Dmitry1c
 
03.11.17 - 15:20
КД2 - как при переносе попросить базу-приемник провести перенесенные документы?

Есть событие объекта "Конвертация" - "После загрузки объекта" - подойдет ли здесь размещения кода проведения документа?
 
 
   Dmitry1c
 
1 - 03.11.17 - 15:22
Есть событие "После загрузки объекта" у сущности "Конвертация"

подойдет ли там расположение кода?

Объект.Записать(РежимЗаписиДокумента.Проведение)
   MadJhey
 
2 - 03.11.17 - 15:22
РежимЗаписи = "Проведение";
   MadJhey
 
3 - 03.11.17 - 15:22
Перед выгрузкой объекта(документа)
   Amra
 
4 - 03.11.17 - 15:22
(0) Если достаточно что бы док провелся после записи в базу - да.
   Ёпрст
 
5 - 03.11.17 - 15:53
(0) проще переносить с движениями
   Dmitry1c
 
6 - 03.11.17 - 15:53
спасибо за ответы
   Dmitry1c
 
7 - 03.11.17 - 15:53
(5) из УПП в ERP

проще, вестимо...
   Ёпрст
 
8 - 03.11.17 - 15:54
(7) какая разница откуда и куда ?
   Mikhail Volkov
 
9 - 03.11.17 - 15:56
(1) Не надо сразу проводить, загрузка может прерваться из-за ошибок проведения. В правилах УПП - ERP вставлено:
Если Объект.Проведен Тогда
    Параметры.ДокументыДляПроведения.Добавить(Объект);
КонецЕсли;
Ну после загрузки все загруженное проводится.
   d4rkmesa
 
10 - 03.11.17 - 16:43
(0)
//ПослеЗагрузкиОбъекта:

Если ИмяТипаОбъекта = "Документ" Тогда
    ДатаВводаОстатков = РегистрыСведений.ДатыВводаНачальныхОстатков.ДатаВводаНачальныхОстатков(Параметры.Организация);    
    
    Если Параметры.ПроводитьДокументы И Объект.Проведен
        И (Объект.Метаданные().Проведение = Метаданные.СвойстваОбъектов.Проведение.Разрешить) Тогда
        
        ИмяОбъектаМетаданных = Объект.Метаданные().Имя;        
        Если ИмяОбъектаМетаданных = "ВводНачальныхОстатков" Тогда
            Приоритет = 0;
        ИначеЕсли (ИмяОбъектаМетаданных = "СчетФактураВыданный")или(ИмяОбъектаМетаданных = "СчетФактураПолученный") Тогда
            Приоритет = 2;
        Иначе
            Приоритет = 1;
        КонецЕсли;
        
        Если НЕ ОбъектНайден Тогда
            //конечно, можно не записывать и добавлять ссылку на новый документ через ПолучитьСсылкуНового(), но так надежнее

            Объект.Проведен = Ложь;
            УстановитьОбменДаннымиЗагрузка(Объект, Истина);
            Объект.Записать(РежимЗаписиДокумента.Запись);
            ОбъектМодифицирован = Ложь;            
        КонецЕсли;        
        
        Если Приоритет <> 2 Тогда
            НоваяСтрока = Параметры.ТаблицаДокументов.Добавить();
            НоваяСтрока.Документ = Объект.Ссылка;
            НоваяСтрока.ДатаВремя = Объект.Дата;
            НоваяСтрока.Приоритет = Приоритет;
        КонецЕсли;
        
    КонецЕсли;
КонецЕсли;

//ПослеЗагрузкиДанных:


ВсегоСтрок = Параметры.ТаблицаДокументов.Количество();
Если ВсегоСтрок > 0 Тогда    
    Параметры.ТаблицаДокументов.Свернуть("Документ,ДатаВремя,Приоритет");
    Параметры.ТаблицаДокументов.Сортировать("Приоритет,ДатаВремя Возр");
    Ин = 0;
    Для каждого Строка из Параметры.ТаблицаДокументов Цикл
        Объект = Строка.Документ.ПолучитьОбъект();        
        Объект.ОбменДанными.Загрузка = Ложь;        
        Попытка 
            Объект.Записать(РежимЗаписиДокумента.Проведение);
            Мсг = Новый СообщениеПользователю;
            Мсг.Текст = "Документ проведен: " + Строка(Объект.Ссылка);            
            Мсг.КлючДанных = Объект.Ссылка;
            Мсг.Сообщить();
            Ин = Ин + 1;
        Исключение
            Мсг = Новый СообщениеПользователю;
            Мсг.Текст = "Документ НЕ Проведен : " + Строка(Объект.Ссылка) + "" + ОписаниеОшибки();
            Мсг.КлючДанных = Объект.Ссылка;
            Мсг.Сообщить();
        КонецПопытки;
    КонецЦикла;
    Мсг = Новый СообщениеПользователю;
    Мсг.Текст = "Из "+СокрЛП(Параметры.ТаблицаДокументов.Количество())+" документов проведено " + СокрЛП(Ин) +" объектов";    
    Мсг.Сообщить();    
Иначе
    Мсг = Новый СообщениеПользователю;
    Мсг.Текст = "Из "+СокрЛП(Параметры.ТаблицаДокументов.Количество())+" документов проведено 0 объектов";
    Мсг.Сообщить();    
КонецЕсли;
Параметры.Удалить("ТаблицаДокументов");
 
 Рекламное место пустует
   d4rkmesa
 
11 - 03.11.17 - 16:44
(0) Можно, конечно, красивее, но на средних объемах "и так сойдет". Тем более, для онлайн-обменов по другому вопрос решается.
   Dmitry1c
 
12 - 03.11.17 - 19:32
(11) спасибо

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует