Отменить загрузку в Приемнике по значению параметра. #724412


#0 by Zhuravlik
Дубль с инфостарта: Добрый день. Новичок в КД, дело вот в чем. Налаживаю обмен между УТ 11 и БП 2.0, обмениваюсь реализациями. При этом хочу выгружать документы только по определенной организации (из УТ), а при загрузке в БП если организации с таким ИНН нету - выбрасывать сообщение, и прерывать загрузку. Определил параметр (см. рисунок), теперь не могу понять в какой момент времени мне прерывать загрузку. Таких событий, чтобы параметры уже были определены, а загрузка данных файла еще не начата не нашел. Предполагаю, что необходимо в событии "Конвертация_ПередЗагрузкойОбъекта" проверять как-то так: Если Параметры.Организация = Неопределено Тогда Но. - Первым грузятся почему-то валюты, а не организации (хотя жал на кнопку "Вверх" в КД, по-идее первым должна быть Организация) - Я еще ведь хочу сообщать пользователю, что "Не обнаружена Организация с ИНН №<НомерИнн>", и сообщение должно выйти *1 раз*, а если я буду использовать событие "Конвертация_ПередЗагрузкойОбъекта" - будет сообщать столько раз, сколько объектов будет грузится. Можно конечно написать такой код: Если НЕ Параметры.Свойство("БылоСообщениеОбОшибке") Тогда Но кажется мне, я просто что-то не так делаю. Подскажите пожалуйста, кто опытный, как и какое событие надо обрабатывать?
#1 by France
#2 by Zhuravlik
Вы не поняли. Событие "ПередВыгрузкой" - это событие источника, и там у меня все нормально, в ПВД  делаю фильтр по значению параметра. Речь идет о том, какое событие нужно отработать в базе Приемнике, чтобы не загружать данные при отсутствующей (по ИНН) Организации.
#3 by mikecool
в глобальной перед загрузкой, что раз выполняется, определить - надо ли загружать и отказать при необходимости
#4 by France
я вполне понял.. почему нельзя НЕ выгружать ненужные документы??
#5 by mikecool
+3 список организаций получай при выгрузке, записывай в параметр, его передай в загрузку
#6 by Zhuravlik
Так вопрос в том и стоит: в каком событии *Приемника* уже определено значение параметра (он прошел стадию "Распознавания", т.е. программа нашла или НЕ нашла значение параметра по правилу), а загрузка объектов еще не произведена, и от нее можно отказаться? Смотрите. В источнике пользователь выбирает в параметре орг. с ИНН "12345", я ее использую *в Источнике* как фильтр по документам, выгружаю только те, у которых эта оганизация указана. В Приемнике нет организации с ИНН "12345", но пользователь тем не менее жмет кнопку "Загрузить". Мне нужно сказать ему *в Приемнике* что нету такой организации, и загрузить ничего нельзя.
#7 by France
ПередЗагрузкойДанных правил обмена Перед загрузкой данных Условия возникновения события Событие выполняется самым первым перед началом загрузки данных из файла и только один раз, после открытия файла для чтения. из параметров получить организацию, попробовать найти его в базе, и если нет - Отказ = Истана
#8 by France
о, точнее, в "ПослеЗагрузкиПараметров", а не
#9 by Zhuravlik
Спасибо, это вообще первое о чем подумал. Попробуйте отладить правила с этим событием при выгрузке и загрузке, очень удивитесь. Я удивился по крайней мере, и решил что это событие выполняется на стороне источника, и создал тему. Сейчас уже решен вопрос (на инфостарте), спасибо всем за беспокойство.
#10 by France
ничего не понял.. вот что в хелпе "Событие выполняется после загрузки параметров переданных из информационной базы источника в информационную базу приемника. Только для обмена V8-V8."
#11 by Zhuravlik
Я не стал его сначала использовать, потому что если сформировать отладочные модули для загрузки/выгрузки, вы это событие увидите в *Источнике* и НЕ увидите в приемнике (где оно, судя по контексту документации должно быть.) Я поэтому даже и не попробовал, еще одна зарубка на приклад. Все, что касается 1С надо тестить, а потом еще раз тестить :)
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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