Конвертация данных. Отмена записи объекта на этапе ПослеЗагрузки #718310


#0 by Ymryn
Мое почтение. Собственно ситуация: Хочу выводить информацию о том, что объект с такими-такими свойствами не найден в базе после загрузки. Как следствие получить эти свойства могу только ПослеЗагрузки. Делаю проверку на ОбъектНайден и ставлю Отказ в Истина, если соответственно не найден. Но беда, объект все равно записывается, хоть и с пустыми полями (фактически записывается только сама ссылка/uid). Методом тыка нашел, что галочка "Не запоминать выгруженные объекты" практически решает проблему. Теперь создается только одна пустая ссылка. Хотелось бы узнать, а как можно еще избавиться и от неё (чтобы вообще ничего не создавалось)? Загрузка идет в режиме обмена данных загрузка. Отменять его, как и вообще менять режимы загрузки не хочется, хочется решить вопрос настройками правил данных.
#1 by Ymryn
*правил обмена данными. Заговариваюсь.
#2 by Ymryn
проверил один момент. При установленной галочке создается пустая ссылка на 1ый объект. Все остальные объекты не создаются. Каждая последующая загрузка, создает также по 1 объекту после первого и не создает оставшиеся.  Пока что в упор, не понимаю, что происходит :(
#3 by Ymryn
криво выразился, каждая последующая загрузка создает по 1 объекту из тех, что не были найдены в порядке очереди записи в файле.
#4 by Ymryn
Нашел нужную комбинацию галочек, благодарю всех посетивших тему за моральную поддержку. Благодаря вам у меня получилось.
#5 by Поpyчик-4
Не за что, всегда рады. Лучше в благодарность за моральную поддержку озвучь нужную комбинацию галочек
#6 by Ymryn
"При переносе объекта по ссылке НЕ создавать новый объект, а только переносить ссылку" решает проблему. Галочка "Не запоминать ..." не нужна. Соответственно, поиск и сопоставление в этом случае проходит успешно, а новые объекты не создаются.
#7 by Ymryn
+ естественно с условием вышеописанной проверки. Если Отказ в истину не поставить, то объекты вполне создаются.
#8 by Aleksey
Какая то каша... Обработчики "Правила конвертации объектов" При загрузке Событие выполняется после попытки идентификации. В случае успешной синхронизации доступен найденный объект. В противном случае его значение Неопределено. Можно произвести произвольную инициализацию, заполняемого данными объекта. Параметры: ОбъектНайден - Булево. Если значение параметра равно Ложь, то объект не идентифицирован, то есть не найден в информационной базе Причем тут После загрузки? Непонятно
#9 by Aleksey
И да в твоем случае галка называется "Не создавать новый объект в приемнике, если он НЕ найден"
#10 by Ymryn
Потому что в ПриЗагрузке - Объект не заполнен данными загрузки. И мне нечего выводить пользователю. Также в ПриЗагрузке нету общей переменной Отказ (вот уж не знаю почему). Так что ПослеЗагрузки удобнее всего.
#11 by Ymryn
указанная галочка отменяет заход в процедуру После загрузки, как следствие я не могу ничего сообщить пользователю, как следствие она не подходит.
#12 by Aleksey
Чего? А параметр Объект на что? Ну тогда поля поиска, сам ищи сам и пиши, что "вай-вай не нашли"
#13 by Ymryn
А параметр Объект заполняется после обработчика ПриЗагрузке. Т.е если этот самый объект не найден, то он пустой. В ПослеЗагрузки также доступен ОбъектНайден. Поэтому вполне хватает проверить, что в нем и установить Отказ. Проблема была именно в том, что объект все равно создавался. Описанная выше галочка решает и эту проблему.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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