УстановитьСсылкуНового или Как восстановить ссылку на объект #742047


#0 by ejiki
Каким-то образом был удален объект из базы. Цель Восстановить по "<Объект не найден> (124:820694de80c8cdb911e4ed4b0f3b6683)" Собственно Сабж. Вероятно я некорректно передаю ГУИД объекту. Причина в том что Документ создаю. Но как была ссылка в других доках на него "<Объект не найден> (124:820694de80c8cdb911e4ed4b0f3b6683)", так и осталась. Подскажите братцы в чем моя проблема в данном случае?
#1 by kosts
Записать объект надо
#2 by ejiki
кхм. сейчас попробую, если так то это пойдет в мою книгу тупейших провалов xD
#3 by ejiki
Нет, всё далеко не так, понимаю что делаю по аналогии с обычными формами. Но все же: 1) Создаю документ, 2) Присваиваю ему ГУДИ при помощи "УстановитьСсылкуНового", 3) Открываю форму для редактирования и записи. Так вот я так понимаю что на УФ, ГУИД присваивается в момент записи? Как логически это обойти? Пытался ПолучитьОбъект, а затем записать, Но Увы получать пока нечего же. Вот как бы вы эту ситуацию обошли?)
#4 by patria0muerte
А если без открытия формы попробовать? Т.е. просто сразу записать...
#5 by hhhh
а зачем открывать форму?
#6 by fisher
Не. Так не получится. Невозможно открыть форму для программно созданного объекта. Ты открываешь форму ДРУГОГО нового объекта.
#7 by fisher
Если хочешь непременно так, то устанавливать ссылку нового придется из модуля самого документа. А лучше не заморачиваться, а сначала записать, а потом открыть форму уже записанного.
#8 by ejiki
В любом случае необходимо обработать обязательные реквизиты и корректно заполнить документ. Меня интересовал другой вопрос. И я разобрался. Дело в том что Если я записываю до Назначения ОбменДанными.Загрузка =  Истина То программа игнорирует все что я стараюсь сделать и назначает свой ГУИД. Помогла запись объекта и установка даты после ОбменДанными.Загрузка = Истина.             ОбъектСсылка.Дата = ТекущаяДата; И тогда все прошло замечательно) сейчас гадаю как бы мне переделать обработку и сделать из неё универсальный механизм на будущее))
#9 by ejiki
Как имея тип объекта корректно передать сюда форму??
#10 by ejiki
Ну хотя идея наверное ясна.. просто передам  попробую передать вот так насколько жизненна будет идея?) ОбъектСсылка.ПолучитьФорму(""+Тип[ИмяОбъекта].ФормаОбъекта+"")
#11 by Ymryn
День добрый. Не сочтите за оскорбление, но вы же понимаете, что в  "<Объект не найден> (124:820694de80c8cdb911e4ed4b0f3b6683)"  у вас не GUID указан?
#12 by Ymryn
+ это я к тому, как вы УникальныйИд получаете?
#13 by ejiki
Gонимаю, естественно. Я из этой записи при помощи нехитрого кода получаю ГУИД. Суть то ведь ясна. Код ниже прилагаю если кому пригодится.
#14 by ejiki
Хотя думаю если сделаю универсальную обработку для восстановления потерянных данных то если попросят обязательно выложу. По УФ ничего такого не нашел.
#15 by hhhh
а дальше? делаете?
#16 by ejiki
Вот как присваиваю ГУИД вновь созданному объекту
#17 by ejiki
аааа дошло. Да именно так.
#18 by ejiki
УникальныйИд = Новый УникальныйИдентификатор(ГУИДУдОбъктаСтр);
#19 by Ymryn
Что-то сейчас меня малость тупняк. По общению, сложилось впечатление, что все это делается на УФ. Но приложенный код - СоздатьДокумент - это сервер. Форма.Открыть; - это клиент. Как это вообще внутри одной процедуры живет? Это точно УФ?
#20 by hhhh
ну в общем модуле, например. Стоит галка и клиент и сервер. Почему нет?
#21 by ejiki
Это в Процедуре &НаСервере в УФ все работает как ни странно.
#22 by hhhh
наверно толстый клиент.
#23 by ejiki
Да, так и есть xD
#24 by ЧеловекДуши
Чето? Программно создай документ, программно ему привяжи Гуид, и Руками заполни его как надо. Или тоже программно заполни как надо.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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