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