Проведение документа после переноса в КД #769573


#0 by Игорь_МММ
Подскажите плз. если в ПКО ПослеВыгрузки пишу Объект.Записать(РежимЗаписиДокумента.Проведение) - проведение идет по ОбработкеПроведения ? вроде как по-другому? просто ставлю точку останова в ОБработкуПроведения - не останавливается.
#1 by Diman000
В ней самой, куда же она, родная, денется. Вот только у тебя документ-источник проводится. ПослеВыгрузки это контекст выгрузки. И тамошний объект это объект-источник.
#2 by Игорь_МММ
Ну так вроде все так. Проблема изначально в том что половина документов делает движения по регистрам , а какая-то часть не записывается даже - вываливается с ошибкой " ошибка вызова метода "Записать" не установлен отбор по регистратору, ". Я поставил точку останова в ОбработкеПроведения - останавливаться не останавливается. Как так?
#3 by Pro-tone
а зачем тебе проводить документ после выгрузки в файл обмена? Какой в этом смысл?
#4 by Игорь_МММ
движения нужны
#5 by Игорь_МММ
или начинаю догонять ... я не там делаю проведение? а где?
#6 by ДенисЧ
Послевыгрузки работает тогда, когда документ ВЫГРУЖАЕТСЯ, а не когда загружается...
#7 by Pro-tone
движения тебе нужны на стороне приемника, для этого нужно проводить документ после загрузки, установив ему режим проведения, вроде в обработчик ПриЗагрузке пиши РежимЗаписи = Проведение
#8 by Игорь_МММ
Ошибка при вызове метода контекста (Записать): Ошибка записи! Не установлен отбор по регистратору (Регистр накопления: Материалы оприходованные) Текст ОбработкиПроведения: На стороне приемника, вводишь накладную (вручную) ,проводишь - ошибок нет. Получается ошибка только если проведение идет при переносе. В чем нюанс?
#9 by Pro-tone
а где у тебя строка "Движения.Регистратор=..."?
#10 by Pro-tone
ты понимаешь, что при записи в рн "Регистратор" это обязательное поле для заполнения? и обмен данными вообще тут не причем, а когда руками проводят документ, скорее всего это проводят вообще не этот документ, а какой-то другой
#11 by Игорь_МММ
Это как? .. набиваешь документ, нажимаешь Ок - а проводится другой документ? Сейчас сделал новый документ - провел, проверил движения - все на месте. Не может оно автоматом считаться что коли проводится Этот документ, т о соответственно он и регистратор?
#12 by Pro-tone
напиши все же Движение.Регистратор = Ссылка
#13 by Игорь_МММ
вставил, но  при загрузке все равно вылетает написал так : Движение.Регистратор = ЭтотОбъект;
#14 by Diman000
Напиши Ссылка. ЭтотОбъект это другой тип.
#15 by Игорь_МММ
тоже самое .. "Не установлен отбор по регистратору" и "Движение.Регистратор ="  одно и тоже?
#16 by Игорь_МММ
закипаю .. поудалял все загруженные документы, нажимаю загрузить данные - загружается один док и вылетает "Ошибка при вызове метода контекста (Записать): Ошибка записи! Не установлен отбор по регистратору (Регистр накопления: Материалы оприходованные)" ---- ничего не меняя  ----- жму опять загрузить данные - загружает еще один док и снова вылетает таже ошибка и тд. При каждой загрузке загружает ровно один документ и ошибка
#17 by ДенисЧ
Ну так может, ты всё таки код проведения поправишь? Или так и будешь туда-сюда документы удалять?
#18 by Игорь_МММ
направь на путь истинный, плз. То что предлагали (Движение.Регистратор = Ссылка) не помогает (
#19 by Альбатрос
У не щаписанного документа есть ссылка?
#20 by Альбатрос
*записанного
#21 by Игорь_МММ
Спасибо тебе человечище !! блин одно слово и все понятно стало как раз вот это курю - , думаю зачем такие сложности: сначала в таблицу всю инфу сливать , потом по ней все проводить . Получается сначала все записывается без проведения, а потом уже перепроводим. Если все так подскажите еще по указанной статье - там обработчики событий «Перед загрузкой данных», «После загрузки объекта»,«После загрузки данных»  - что-то не вижу у себя таких, это где?
#22 by Diman000
Незаписанный документ в ОбработкуПроведения не попадает
#23 by Pro-tone
потому что возможны коллизии при блокировках с большим числом документов, поэтому есть даже РС "Отложенные движения", чтобы провести то, что до этого из-за ошибок или блокировок не удалось провести
#24 by Игорь_МММ
таки дело в обработке проведения? что там не так? почему при ручном вводе дока проведение проходит без ошибок, а при конвертации вылетает? то бишь не мой случай?
#25 by Игорь_МММ
апп..
#26 by Pro-tone
ты сделал по ?
#27 by Игорь_МММ
мда, все заработало... туплю, простите - ставил ЭтотОбъект.Ссылка Спасибо
#28 by Игорь_МММ
Подскажите еще как сделать Отмену проведения - та же ошибка вываливается: "Ошибка при вызове метода контекста (Записать): Ошибка записи! Не установлен отбор по регистратору (Регистр накопления: Материалы оприходованные)" это получается когда повторно загружается документ, который был ранее проведен, теперь распроведен - мне нужно удалить движения по этому документу.
#29 by Игорь_МММ
сейчас в обработчике события ПослеЗагрузки так написано: КонецЕсли; соответственно если коммент убираю, то вываливается с ошибкой на любом непроведенном документе
#30 by Игорь_МММ
никто не поможет горюшку ?
#31 by Popkorm
так что надо,провести после Загрузки?
#32 by Cyberhawk
"ставлю точку останова в ОБработкуПроведения - не останавливается" // Убедись, что в нужной базе отладка в принципе работает (что отладчик останаливается в каком-нибудь любом месте) для начала
#33 by Berezin84
1) 2) 3) вот по движениям
#34 by Berezin84
Вот если код нужен
#35 by Pro-tone
Объект.Записать - так нельзя писать КД объект - это структура, пришедшая из файла. Поэтому есть такое как ОбъектНайден. Эта переменная имеет булевный тип, ей и проверяй. У объекта есть свойство Ссылка. Если она не пустая, то можно ПолучитьОбъект - это и есть твой документ, можешь его проводить, распроводить, удалять и т.п.
#36 by Fragster
если документу при выгрузке установить Проведен = Истина, то при обмене по правилам он сам проведется. В обработке - хз.
#37 by Игорь_МММ
пока до дома добирался, пришло, что все куда плачевнее: задача перенести документы из Бухгалтерии в самописную конфу. Сейчас проводиться документы проводятся, проблема наступает, если я делаю отмену проведения в источнике и гружу документ - получается что на стороне приемника нужно отменить проведение (здесь вываливается с ошибкой, т.е. Объект.Записать(РежимЗаписиДокумента.Проведение) выполняется без проблем, а Объект.Записать(РежимЗаписиДокумента.ОтменаПроведения) вываливается с ошибкой)- это одна беда. Второе - это что делать если в источнике док удалят, как найти его в приемнике и распровести хотя бы?
#38 by Игорь_МММ
отладка работает - остановка срабатывает если я в ручную провожу док
#39 by Игорь_МММ
под конец дня сегодня курил эту тему, пробовал и в обработчики ПКО вставлять и как в в обработчики самой конвертации - пока не помогло. надо не все проводить, а получается и делать отмену проведения см в понедельник буду уже пробовать
#40 by Fragster
Если универсальный обмен по правилам из бсп и объект один к одному - то все должно работать из коробки
#41 by hhhh
надо программиста, который эту самописку наваял, допросить с помощью паяльника. Наверняка там из этого документа вызывается проведение других документов. Которые и ругаются.
#42 by Игорь_МММ
итого: В ПКО в обработчиках все убрал . В событии ПослеЗагрузки Конвертации написал так: Теперь все ОК!!! Спасибо всем за помощь Осталась последняя проблема (если это вообще решаемо): можно ли отследить объект, который был изначально создан в источнике, потом загружен в приемник, затем в источнике удален - можно ли отследить это и удалить его и в приемнике? Вообще есть ли какой-то признак у документа где он был создан?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С