Передача уникального идентификатора (реквизит табличной части) через Конвертацию #731040


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

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