|
КД: Выгрузить с произвольным UID | ☑ | ||
---|---|---|---|---|
0
Ymryn
07.08.14
✎
16:59
|
Мое почтение. Итак, цель: выгрузить объект с заранее установленным UID'ом (отличным от UID'а объекта). Понимаю что лучше всего будет сделать через Структуру, но уже под конец рабочего дня торможу и никак не могу понять какой должен быть параметр.
Заранее ответ на вопрос: "А на фейхоа?" Была выгрузка номенклатуры из Базы А в базу Б. Выгрузка шла через ком соединение со связью через регистр соответствий. Сейчас планируется сделать иной обмен из базы А в базу У. Причем в базе У номенклатура из базы А (точнее совпадает по UID'ам). Хочется сделать через xml, подрубаться в базу A получать объект, его UID и выгружать уже номенклатуру из базы Б, с UID'ом базы А. Вот как-то так. Теперь можно возмущаться, писать, что я криворукий прог и пытаюсь выстрелить себе в ногу и прочее. За предложения по оптимизации или непосредственно по решению проблемы - признателен. :) |
|||
1
Ymryn
07.08.14
✎
17:03
|
(0) поправка. Уже устал и косячу. :(
Причем в базе У номенклатура из базы Б (точнее совпадает по UID'ам). Хочется сделать через xml, подрубаться в базу Б получать объект, его UID и выгружать уже номенклатуру из базы А, с UID'ом базы Б. Вот как-то так. |
|||
2
Йохохо
07.08.14
✎
17:04
|
пвд произвольная выборка, подключаемся к А из Б и заполняем ссылками КоллекцияОбъектов
|
|||
3
Ymryn
07.08.14
✎
17:04
|
(2) а как выгружать по ссылке?
|
|||
4
Ymryn
07.08.14
✎
17:05
|
(3) а хотя понял, в целом очень хорошая идея. Спасибо, попробую реализовать.
|
|||
5
Ymryn
07.08.14
✎
17:06
|
(2) а я правильно понимаю, получается, что com-объекты можно в качестве источников для выгрузки использовать?
|
|||
6
Йохохо
07.08.14
✎
17:14
|
(5) я (1) не видел) можно ТЗ заполнять структурами идентичными номенклатуре запросом через ком, можно гуид передавать параметром в поляпоиска и создавать объект
|
|||
7
acsent
07.08.14
✎
17:18
|
выгрузить в параметр, установить в передзаписью
|
|||
8
К_Дач
07.08.14
✎
17:20
|
У тебя есть база А. Из нее ты хочешь выгружать номенклатуру в базу У, но так, чтобы при этом ГУИД у элемента подставлялся из базы Б? Верно? Если так, то перед такой выгрузкой заполни сначала в базе А регистр сведений СоответствияОбъектовИнформационныхБаз. Там есть поле УникальныйИдентификаторПриемника. Напиши предварительно загрузку из базы Б в базу А, которая найдет номенклатуру по полям поиска (код, наименование, артикул и т.д.) и заполнит этот регистр, а потом уже из базы А пиши выгрузку в базу У, в обработчике ПКО "после выгрузки" пиши запрос к регистру и подменяй значение ссылки...
|
|||
9
Ymryn
07.08.14
✎
17:21
|
(7) я правильно понимаю, что предложение выгружать в параметр структуру соответсвий uid базы Б - код базы А. И уже перед записью в базе У вычислять по этой таблице необходимый объект?
|
|||
10
Ymryn
07.08.14
✎
17:23
|
(8) я не хочу заполнять регистр в базе А. Он уже заполнен в базе Б и там ведется. Менять место его ведения не хочется, хочется решить вопрос хитрой системой обмена и оставить текущий обмен А - Б неизменным.
|
|||
11
Ymryn
07.08.14
✎
17:24
|
(10) + но за предложение спасибо, в иной ситуации действительно считал бы самым наилучшим решением.
|
|||
12
Ymryn
07.08.14
✎
17:27
|
(6) вот параметр для полей поиска, если честно не совсем понял. Это закладка "Поиск объектов в приемнике"? (К сожалению мало ей пользовался, поэтому не совсем представляю, как воспользоваться. Если решение именно там, достаточно сказать да, остальную макулатурку на почитать, уже сам найду :) ).
|
|||
13
К_Дач
07.08.14
✎
17:29
|
Ну хорошо, вот тебе еще вариант. Заполни это регистр в базе У и подменяй ссылку на этапе загрузки...
Если не хочешь трогать регистр, рассчитывая его задействовать в других ситуациях - то вот еще один вариант (сам как раз сейчас делаю такой обмен). Источник - Приемник. В Приемнике хранится таблица соответствия объектов. Объект А: ссылка, поля поиска ----> Объект Б, ссылка, поля поиска. Таблица хранится в виде таблицы значений в ресурсе любого объекта метаданных с типом ХранилищеЗначения. Модифицируем обработку загрузки, добавляем получение этой таблицы и ее загрузку в ТЗ в оперативную память. Далее во всех обработчиках загрузки можешь обращаться к этой ТЗ по имени объявленной переменной, искать вхождения и делать подмены. Вуаля. |
|||
14
К_Дач
07.08.14
✎
17:30
|
Обработчик "Поля поиска": СсылкаНаОбъект - ссылка на результирующий объект. Если в обработчике установить данную ссылку (не пустую) то программа ее запомнит и поиск на этом будет считать успешно завершенным
|
|||
15
Ymryn
07.08.14
✎
17:32
|
(13) в У тоже не хочу. Не хочу ничего дополнительно заполнять. Все уже заполнено. Хочу научиться это объединять и использовать в базе А :)
Второй вариант мне чем-то (8). (14) О! Интересно, покопаюсь в этом направлении. Можно ли ссылку на несуществующий объект (т.е сугубо UID) так установить. Спасибо большое. |
|||
16
Ymryn
07.08.14
✎
17:32
|
(15) чем-то (8) напомнил.
|
|||
17
К_Дач
07.08.14
✎
17:39
|
У меня сейчас аналогичная (только более сложная) задача. Есть Источник и Приемник. В Приемнике есть ряд объектов и элементов, имеющих другие отличные от элементов Источника реквизиты (по которым производится поиск), но имеющие абсолютно тот же самый прикладной и практический смысл. То есть нужно при загрузке научить программу Иванова Иван Иваныча конвертировать в Иванова И.И., а "хлеб мягкий вкусный" в "хлеб свежий вкусный". Сделал так: предварительно выгружаю из Источника все такие объекты, НЕ СОЗДАЮ их в Приемнике, а заполняю ими (всеми, которые не нашлись! по полям поиска) таблицу соответствия. Далее пользователь открывает формочку и проставляет соответствия Иван Иванычей и хлебов, жмет записать и рапортует мне, что все готово. Далее дело техники, загружаем, ловим, подменяем.
|
|||
18
Ymryn
07.08.14
✎
18:40
|
Спасибо еще раз. Завтра на свежую голову попробую это применить на практике.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |