![]() |
![]() |
![]() |
|
Колюсь оригинальным способом замены ссылок в документе | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
19.06.07
✎
16:16
|
Если вам нужно заменить ссылки в объекте или наборе записей, можно выгрузить его в XML и там в виде строки заменить GUID первой ссылки на GUID второй ссылки. ;-)
Функция обЗаменаСсылки(Объект, ИсхСсылка, РезСсылка) ХМЛ=обОбъектВXML(Объект); ИсхГУИД=ИсхСсылка.УникальныйИдентификатор(); РезГУИД=РезСсылка.УникальныйИдентификатор(); Если Найти(ХМЛ, ИсхГУИД)=0 Тогда Возврат Неопределено; Иначе ХМЛ=СтрЗаменить(ХМЛ, ИсхГУИД, РезГУИД); Возврат обОбъектИзXML(ХМЛ); КонецЕсли; КонецФункции Юзайте, пока я добрый! |
|||
1
pajaro
19.06.07
✎
16:18
|
кто-то бухает, а кто-то колется(с)
|
|||
2
Terv
19.06.07
✎
16:19
|
и какой практический смысл?
|
|||
3
Господин ПЖ
19.06.07
✎
16:19
|
Думаю - чего не хватает?...
|
|||
4
Asmody
19.06.07
✎
16:20
|
ты это... завязывай колоться... до добра не доведет
|
|||
5
asady
19.06.07
✎
16:21
|
(0) так можно что хошь менять кстати. Я так условия взаиморасчетов по договорам менял при переносе данных из УТ в БП - парсил XMLфайл и менял.
в твоем случае надо будет где-то хранить таблицу соответствия GUIDов. |
|||
6
Гений 1С
гуру
19.06.07
✎
16:44
|
(5) да ничего хранить не надо.
Просто это более простой аналог обработки поиск и замена ссылок. То бишь на вход подаешь объект и две ссылки, а она сама их в XML конвертит и обратно и в ГУИДы и обратно. Элегантно. ;-) Не нужно перебирать ссылки во всех реквизитах и т.п. Правда, если юзверь в строке хранит гуид ссылки, может ошибочку дать, хотя с другой стороны все праильно - это же ГЛОБАЛЬНАЯ ЗАМЕНА ССЫЛОК!!! |
|||
7
pajaro
19.06.07
✎
17:02
|
(6)замена да, но каким образом эта процедура заменяет поиск, если на входе она получает готовый объект?
|
|||
8
simol
19.06.07
✎
18:26
|
А регистры, или предлагаешь всю базу выгружать?
|
|||
9
Immortal
19.06.07
✎
21:21
|
best!
5 баллов. даже обидно чтосам не дотукал=) |
|||
10
asady
19.06.07
✎
21:47
|
(9) теперь остается выяснить насколько это дольше типового способа.
|
|||
11
Immortal
19.06.07
✎
21:53
|
(10)мм.. есть отвественный..в куче доков. сколько его поиск и замена значений менять будет?
|
|||
12
Neco
19.06.07
✎
22:51
|
(0) Вау! Новый способ копирования элементов и документов.
|
|||
13
Гений 1С
гуру
20.06.07
✎
09:32
|
(7) Найти по ссылкам!!! ;-)
(9) Спасибо. (10) По скорости или по объему кода? По объему кода меньше значительно. По скорости вряд ли медленнее, т.к. юзается типовая серилизация. (11) Столько же сколько и в типовой, это не метод поиска, это метод написания кода по замене ссылок в отдельно взятом объекте - дешевый и сердитый! (12) ыгы... Функции в ХМЛ и из ХМЛ в моей библиотеке функций или на книге знаний. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |