|
ПолучитьСсылку/УстановитьСсылкуНового Не совпадают ГУИДы | ☑ | ||
---|---|---|---|---|
0
miner
26.01.12
✎
15:01
|
Здравствуйте!
У меня такая проблема. В подписке на некоторые объекты делаю следующее [CODE] Процедура ОБработкаЗаполненияСохранитьСсылку(ОбъектИсточника,Ссылка) Сообщение = Новый СообщениеПользователю; Менеджер = ПолучитьМенеджер(ОбъектИсточника); // Здесь получаем менеджера объектов СсылкаНаНовыйОбъект = Менеджер.ПолучитьСсылку(); ОбъектИсточника.УстановитьСсылкуНового(СсылкаНаНовыйОбъект); //установили ссылку нового Сообщение.Текст = "СсылкаНового= "+Строка(СсылкаНаНовыйОбъект); Сообщение.Сообщить(); Сообщение.Текст = "УИДСсылки= "+Строка(СсылкаНаНовыйОбъект.УникальныйИдентификатор()); Сообщение.Сообщить(); .................... КонецПроцедуры [/CODE] Далее в подписке на события при записи делаю так [CODE] Процедура ОбъектовПриЗаписи(Источник, Отказ) Экспорт Сообщение = Новый СообщениеПользователю; Сообщение.Текст = "СсылкаНового= "+Строка(Источник.Ссылка); Сообщение.Сообщить(); Сообщение.Текст = "УИДСсылки= "+Строка(Источник.Ссылка.УникальныйИдентификатор()); Сообщение.Сообщить(); КонецПроцедуры [/CODE] На выходе УИДСсылки= da388689-4805-11e1-bf41-00192186fa8e //При Обработке заполнения УИДСсылки= da38868a-4805-11e1-bf41-00192186fa8e //При Записи Непонятное поведение. В доках УстановитьСсылку нового написано Ссылка, которая будет назначена при записи нового объекта. Однако ссылка поменялась. Я что-то упустил? |
|||
1
Широкий
26.01.12
✎
15:25
|
Тип объектов точно совпадают?
|
|||
2
miner
26.01.12
✎
15:36
|
точнее не бывает!
|
|||
3
Широкий
26.01.12
✎
15:44
|
Почему бы в обработке заполнения не добавить:
Сообщение.Текст = "УИДСсылкиОбъекта= "+Строка(ОбъектИсточника.Ссылка.УникальныйИдентификатор()); |
|||
4
H A D G E H O G s
26.01.12
✎
15:45
|
Добрый дедушка Мороз, подари нам новый Мозг!
Потому что УФ. Поэтому устанавливай в ПередЗаписью() |
|||
5
miner
26.01.12
✎
15:50
|
Не, передЗаписью не катит!
Суть такова, что нужно в еще не сохраненный объект передать переменную и использовать ее только при записи (когда уже объект записан и получил ссылку). |
|||
6
Serg_1960
26.01.12
✎
15:51
|
В алгоритме "Менеджер = ПолучитьМенеджер(ОбъектИсточника);", мне так кажется, "не тот" менеджер юзается.
|
|||
7
miner
26.01.12
✎
15:52
|
2, Как это поменяет что-то? Насколько мне известно, Объекты могут и сами нормально в строку приводиться.
|
|||
8
H A D G E H O G s
26.01.12
✎
15:52
|
(6) Нет.
|
|||
9
H A D G E H O G s
26.01.12
✎
15:53
|
(6) Нет повести печальнее на свете, чем повесть о Тонком клиенте.
Вот, прмиерно похожая тема v8: Передать значение с сервера на (внезапно) сервер! |
|||
10
Mort
26.01.12
✎
15:53
|
(5) Заполняется один объект, а записывается другой. Вот перед записью в форме и назначь то чем заполнял.
|
|||
11
miner
26.01.12
✎
15:53
|
6, менеджер тот. Уже все протестировано в отладчике
|
|||
12
Mort
26.01.12
✎
15:54
|
+(10) Т.е. ссылку нового нужно будет два раза назначить если надо.
|
|||
13
Mort
26.01.12
✎
15:55
|
Хотя я скорее всего гоню.
|
|||
14
H A D G E H O G s
26.01.12
✎
15:55
|
(10) ПередЗаписьюНаСервере, либо в подписке на событие ПередЗаписью.
|
|||
15
H A D G E H O G s
26.01.12
✎
15:55
|
(13) Нет, ты прав.
|
|||
16
miner
26.01.12
✎
15:55
|
10., Этого не может быть! Записывается именно тот самй объект.
|
|||
17
H A D G E H O G s
26.01.12
✎
15:56
|
(16) Объект тот же, экземпляр объекта - другой.
|
|||
18
H A D G E H O G s
26.01.12
✎
15:57
|
(16) Все заполненные реквизиты, таб.части остаются нетронутыми, а вот переменные модуля, ДополнительныеСвойсва и новые ссылки - трутся между серверными вызовами.
|
|||
19
Mort
26.01.12
✎
15:58
|
Вот то что ссылки трутся меня смутило.
|
|||
20
miner
26.01.12
✎
15:58
|
17 какими чудесами? Конфа тестовая нерабочая. Создал пустой справочник,подписки итд
Если это и происходит, то это не из-за того что я не отслеживаю объект который в обработке заполнения создается. Это я сделаю потом. Сейчас мне нужно добиться чтобы было все просто - как я написал. |
|||
21
miner
26.01.12
✎
15:59
|
17, А вот это информативно! Спасибо! Значит Нужно искать путь другой.
|
|||
22
H A D G E H O G s
26.01.12
✎
16:00
|
(20) **facepalm.
Сделай УстановитьСсылкуНового() в ПередЗаписью(). Устанавливаемую ссылку сохрани во ВременномХранилище, адрес временного - в параметре сеанса. |
|||
23
H A D G E H O G s
26.01.12
✎
16:01
|
(22) Это если не хочешь трогать конфу, иначе
идем в форму справочника, в процедуре ПриЧтенииНаСервере() получаем ссылку нового, сохраняем е в реквизиты формы, а в ПередЗаписьюНаСервере() снова устанавливаем. |
|||
24
Serg_1960
26.01.12
✎
16:02
|
ТС... мелочь,но... тебя не затруднит писать ссылки на номера постов в скобочках? :)
|
|||
25
miner
26.01.12
✎
16:04
|
23, Стыд позорный?
|
|||
26
miner
26.01.12
✎
16:06
|
(24), Нет, совсем немного(шифт сломан)
(23), Проблема в том что то что нужно передать при/перед записью доступно именно в обработке заполнения. |
|||
27
Mort
26.01.12
✎
16:08
|
(26) Ну за 5 минут я думаю ты не успел задать ссылку в обработке заполнения, сделать в форме события из (23) и посмотреть какие параметры у этих событий.
|
|||
28
miner
26.01.12
✎
16:11
|
(27), Я бы не парился если бы я мог, в форме что-то сделать. НЕЛЬЗЯ трогать форму и его события, а так же реквизиты объекта! :(
|
|||
29
Рыцарь
26.01.12
✎
16:13
|
А почему бы не поместить переменную в ПередЗаписью() в ДополнительныеСвойства и в ПриЗаписи использовать?
|
|||
30
Mort
26.01.12
✎
16:15
|
А почему именно обработка заполнения?
|
|||
31
miner
26.01.12
✎
16:19
|
(29) Дохлый номер, см. (18). Проверено!
|
|||
32
Mort
26.01.12
✎
16:19
|
Но если очень надо.
Напиши в обработке заполнения ДанныеЗаполнения.Вставить("Ссылка", Документы.ФункциональноеТребование.ПолучитьСсылку()); В при создании на сервере эту структуру можно поймать в параметрах (ЗначенияЗаполнения). Хранишь в реквизите формы вплоть до ПередЗаписьюнаСервере Profit! |
|||
33
Mort
26.01.12
✎
16:21
|
Собсно ключ структуры "ссылка" не обязателен - можно "х*й" написать.
|
|||
34
miner
26.01.12
✎
16:22
|
(32) Не подходит - подписка обработки заполнения вызывается уже после выполнения обработки заполнения объекта. Опять же нельзя трогать мне ничего на форме и изменять объект тоже нельзя.
Я в аду! Уже неделю мучаюсь. |
|||
35
Mort
26.01.12
✎
16:22
|
А как в (28) только через Ж.
|
|||
36
Mort
26.01.12
✎
16:23
|
А зачем ссылка в обработке заполнения? Просто интересно.
|
|||
37
miner
26.01.12
✎
16:23
|
(35) Мне бы хотя бы через этот проход! Я с самого начала это знал! Поэтому направился сразу туда.
|
|||
38
H A D G E H O G s
26.01.12
✎
16:24
|
||||
39
H A D G E H O G s
26.01.12
✎
16:24
|
Вот там все есть
|
|||
40
miner
26.01.12
✎
16:24
|
(36) Это мега секретная фича, которую хотят клиенты - ну встало у них на это!
|
|||
41
Mort
26.01.12
✎
16:27
|
(40) Ну примерно хотя бы о чем. Или клиенты шарят в подписках?
(38) Если две формы нового объекта открыть будет фэйл( |
|||
42
H A D G E H O G s
26.01.12
✎
16:29
|
(41) А ты попробуй сделать это в тонком :-)
Ну а так - да, косяк, и как его исправить - хз. |
|||
43
Mort
26.01.12
✎
16:31
|
(42) Да пытаюсь) Ещё пытаюсь понять нафига такое может понадобится.
|
|||
44
Mort
26.01.12
✎
16:31
|
Не изменяя форму пока не получается. С формой (32) работает, проверял.
|
|||
45
H A D G E H O G s
26.01.12
✎
16:32
|
just for lulz
|
|||
46
miner
26.01.12
✎
16:33
|
(43)Ну что ты мучишься? Я б с радостью забил бы и нафиг! Но если клиенты хотят, то нужно попробовать им это дать.
В общем чтоб тебе с такими проблемами не столкнуться. |
|||
47
miner
26.01.12
✎
16:34
|
(45) Ты волшебник, наверно, спасибо! Вроде работает,но нужно еще обдумать о нюансах Параметра сеанса.
|
|||
48
H A D G E H O G s
26.01.12
✎
16:36
|
(47) А также то, что через 20 минут они превращаются в тыкву.
|
|||
49
Mort
26.01.12
✎
16:40
|
(46) Имеется подозрение что то, что хотят клиенты решается логическим нормальным путем. А подобные задачи возникают при ошибках проектирования и решаются действительно just for lulz.
|
|||
50
miner
26.01.12
✎
16:50
|
(49) лулз не лулз, а у клиента торчит. Нужно дать!
|
|||
51
Mort
26.01.12
✎
16:52
|
(50) Клиент так и выразил пожелание "хочу чтобы ссылка устанавливалась в обработке заполнения?".
|
|||
52
miner
26.01.12
✎
16:55
|
(51) Нет, но поверь, здесь не идиоты работают. И знают толк в проектировании. Все возможные варианты были рассмотрены.
|
|||
53
miner
26.01.12
✎
16:55
|
Точнее говоря это не первый продукт который входит.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |