новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Обсуждение к материалу: Проведение документов в базе-приемнике при переносе (Конвертация данных)

    • #1
    • 25.01.2013 18:22
    0
    Проведение документов в базе-приемнике при переносе (Конвертация данных)  Подробнее>>
    • #2
    • 25.01.2013 18:27
    0
    Событие "ПередВыгрузкой" - код
    Если Источник.Проведен Тогда РежимЗаписи = "Проведение"; КонецЕсли;

    Событие - "ПослеЗагрузки" - записать объект.

    Как-то очень громоздко в описанном - для чего именно так?
    • #3
    • 25.01.2013 20:18
    0
    предложите иначе...
    буду рад совету
    • #4
    • 26.01.2013 00:10
    0
    Начислено 700 руб на счет в рамках
    акции
    • #5
    • 18.05.2015 13:43
    0
    хоть ветка старая, но возможно кому-то и пригодится
    так гораздо проще:

    в ПКО - После загрузки

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


    можно код вынести в алгоритм и тогда просто:
    Выполнить(Алгоритмы.ПослеЗагрузкиДокумента);
    • #6
    • 18.05.2015 14:05
    0
    для БП 3.0 не прокатит такой код
    • #7
    • 18.05.2015 14:24
    0
    Григорьев Андрей
    Как-то очень громоздко в описанном - для чего именно так?


    отвечу за автора, данный способ может быть применен для пост-обработки документов
    например, открыть форму пользователю для операций с загруженными документами

    а для простого проведения данный код не рекомендую!
    и еще момент, что будет при повторной загрузке если документ ранее был проведен, а его сняли с проведения...
    походу проводки останутся... наверное, это удивит пользователей )
    • #8
    • 18.05.2015 15:30
    0
    Григорьев Андрей
    для БП 3.0 не прокатит такой код


    и почему вы пришли к такому выводу?
    • #9
    • 14.03.2019 12:08
    +1
    Гаспода все намного проще
    При обмене в базе приемнике ставим галочку и все)
    п.с. в типовых есть регистр отложение движения документов, после обмена он всегда должен быть пустим!
    тоисть в момент загрузки не проводятся так как ето время, а после обмена легко!
    • #10
    • 14.03.2019 12:10
    0
    ЛОви некропостера
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться