|
ComConnector и хранилищеЗначения | ☑ | ||
---|---|---|---|---|
0
Phil_McLaren
26.09.13
✎
08:13
|
Доброго!
Картина такая: есть подключение к двум базам через ComConnector из стороннего приложения на c#. Одна база в роли источника данных, другая - приемник. В частности, из полей элемента справочника в источнике я создаю подобный элемент в приемнике. Один из переносимых реквизитов имеет тип ХранилищеЗначения, с ним-то и возникли проблемы - прямое присвоение реквизиту в приемнике значения реквизита из источника не дает никакого результата, реквизит приемника остается пустым. Методы платформы, насколько я знаю, можно вызывать только через V82.Application, но не ComConnector, так что сделать Execute("ПолучитьАдресФайлаВИнформационнойБазе(Ссылка, ИмяРеквизита)") или что-то подобное я не могу. Направлений для разрешения проблемы вижу два: -либо додуматься до способа выполнения произвольного кода через ComConnector и, собственно, сообразить порядок передачи сохраненного значения реквизита -либо найти верный алгоритм прямого присвоения значений реквизитов, без каких-либо промежуточных буферов типа сериализации Мнения, советы? Заранее спасибо всем нашедшим время |
|||
1
Phil_McLaren
26.09.13
✎
08:27
|
P.S.:
присваивать пробовал несколькими путями Приемник.Реквизит=Источник.Реквизит; //непосредственное присвоение Приемник.Реквизит=Коннектор.NewObject("ХранилищеЗначения",Источник.Реквизит); //через промежуточный объект, лазейку видел разве что в том, что третье ХЗ являлось для приемника "родным" объектом Приемник.Реквизит=Коннектор.NewObject("ХранилищеЗначения",Коннектор.NewObject("ДвоичныеДанные",Источник.Реквизит.Получить())); //аналогично, только спускаемся до содержимого ХЗ и тоже создаем как "родной" объект приемника |
|||
2
Галахад
гуру
26.09.13
✎
08:36
|
Что-то не понял как можно реквизиту в этой базе присвоить значение из той.
Может выгрузить файлик там и загрузить тут? |
|||
3
Phil_McLaren
26.09.13
✎
08:40
|
(2) ну ссылку присваивать было бы глуповато, пожалуй, но с двоичными данными из ХЗ не улавливаю в чем объективно может быть проблема
файлик - один из вариантов, как промежуточное хранилище, но для этого нужно оперировать методами платформы, которые недоступны ComConnector Описание функций модуля внешнего соединения пока не рассматривается, не думаю, что исчерпал все варианты -) |
|||
4
Галахад
гуру
26.09.13
✎
08:43
|
(3) Ну как вариант можно написать функцию. И запускать ее на той стороне.
Если менять конфигурацию неудобно, можно запихать ее во внешнюю обработку. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |