|
Передача уникального идентификатора (реквизит табличной части) через Конвертацию | ☑ | ||
---|---|---|---|---|
0
etlau
15.01.15
✎
17:03
|
Дано:
две похожие базы, в одном из реквизитов ТЧ объекта используется УникальныйИдентификатор Конвертация версии 2.1.8.2 Задача: передать этот реквиит по правилам обмена в другую базу. Проблема: не указывая правила обмена, просто как тип данных передавать - ничего не передает. При попытке указать правило - ругается что Ссылка на несуществующий объект метаданных в правилах обмена Объект = Уникальный идентификатор ОписаниеОшибки = Значение не является значением объектного типа (ПКО) хотя саму выгрузку делает. Что сделать можно? Вычитал, что по параметру, но влет не получилось. Не подскажете, как? |
|||
1
mehfk
15.01.15
✎
17:07
|
Значение = Строка(ОбъектКоллекции.ТвоеПоле)
|
|||
2
ktvladimir
15.01.15
✎
17:07
|
Возможно в обработке обмена данных есть переменная с названием УникальныйИдентификатор
|
|||
3
etlau
15.01.15
✎
17:08
|
Сам реквизит называется GUID
|
|||
4
ktvladimir
15.01.15
✎
17:10
|
соответсвенно переменная с названием GUID)))... я как то просто столкнулся с проблемой что у меня был реквизит с названием объект :) и все рухнуло а я долго вкуривал почему
|
|||
5
mikecool
15.01.15
✎
17:11
|
что надо получить в результате в приемнике? ссылку по гуид?
|
|||
6
etlau
15.01.15
✎
17:17
|
(1) Да, теперь передается, в исходящем файле есть, но не получается
Значение = Строка(ОбъектКоллекции.GUID) Где и что прописать, чтобы получалось на стороне приемника? |
|||
7
etlau
15.01.15
✎
17:19
|
В приемнике надо получить опять таки УникальныйИдентификатор
|
|||
8
mikecool
15.01.15
✎
17:20
|
(7) ПриЗагрузке
Значение = Новый УникальныйИдентификатор(Строка которую передали) сработает? |
|||
9
ktvladimir
15.01.15
✎
17:24
|
я иногда пользуюсь таким приемом, когда есть реквизит неограниченной длины типа примечание
в данном случае перед выгрузкой примечания структ = новый Структура Структ.Вставить("Примечание", источник.Примечание); тз = ТЧ.Выгрузить(); тз.Свернуть("НомерСтроки, GUID"); Структ.Вставить("ТЧ", тз) Значение = ЗначениеВСтрокуВнутр(Структ) Соответсвтенно у обекта При записи разворачиваем Структ = ЗначениеИзСтрокиВнутр(Объект.Примечание) Объект.Примечание = Структ.Примечание тз = Структ.тч ну итд |
|||
10
etlau
15.01.15
✎
17:28
|
(8) близко, но в каком месте это писать и как получить эту строку
|
|||
11
Гёдза
15.01.15
✎
17:32
|
КД пытается получить УникальныйИдентификатор.ПКО и обламывается.
смотри какое правило указано у реквизита |
|||
12
mikecool
15.01.15
✎
17:32
|
(10) передавать просто как строку, если получится
либо при выгрузке попробовать в ПКС написать Значение = Новый УникальныйИдентификатор(Строка источник) |
|||
13
Гёдза
15.01.15
✎
17:34
|
Можно так
ГУИД= Строка(ОбъектКоллекции.ГУИД); Выражение = "Новый УникальныйИдентификатор(""" + ГУИД + """)"; |
|||
14
etlau
15.01.15
✎
17:43
|
(13) в информации по обработчикам переменной "Выражение" нет, это работает?
Где писать? Перед выгрузкой? |
|||
15
etlau
15.01.15
✎
17:48
|
(13) Все, спасибо, так получилось!
Выражение сработало. В ПКС перед загрузкой прописал ГУИД= Строка(ОбъектКоллекции.ГУИД); Выражение = "Новый УникальныйИдентификатор(""" + ГУИД + """)"; Спасибо! |
|||
16
etlau
15.01.15
✎
17:55
|
(15) Точнее в "перед выгрузкой"
|
|||
17
Новенький_2009
15.01.15
✎
17:55
|
(9) интересное решение. Извратное :) А что мешало создать доп.служебный узел при выгрузке, и в приемнике его прочитать, и что-то там сделать?
|
|||
18
etlau
15.01.15
✎
18:05
|
(17) Как? Мне этот механизм не знаком
|
|||
19
Новенький_2009
15.01.15
✎
18:13
|
(17) Создаешь дополнительный узел у объекта, валишь туда что тебе нужно, затем читаешь его в приемнике, и опять - делаешь что нужно. Но это так - к слову какбэ сказано. Это я к тому, что чел озвучил задачу "как к строке ТЧ дописать что-то в приемнике". Можно вот таким способом, как я описал, но будут траблы с распарсиванием, если прикрепленное - надо по правилам конвертировать. Есть еще один классный вариант, мне он даже больше нравится: В ПКГС ТЧ делаешь параметр. Параметру можно уже навесить правило конвертации. В обработчике ПослеЗагрузки он становится доступен как соответствие, в котором лежит с конвертированный параметр. Все :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |