|
v8: Частичная замена данных в приемнике при помощи Конвертации данных | ☑ | ||
|---|---|---|---|---|
|
0
ZolotarevAA
03.02.10
✎
17:27
|
Подскажите, возможно ли такое в Конвертации данных:
в базе-приемнике имеется некий объект, например документ. Необходимо частично скорректировать наполнение его табличной части. Таблицу выгрузки данных я подготовил, ключевые поля поиска объекта и строк мне известны. Возникает вопрос, каким образом настроить правила в конвертации, чтобы не потереть то, чего не нужно? P.S. Ну или хотя бы направление куда двигаться подскажите. Спасибо. |
|||
|
1
fisher
03.02.10
✎
17:31
|
Пока не столкнулся ни с одной задачей конвертации, которую бы не смог решить в рамках КД. Возможно практически всё, что реально формализовать.
Будут конкретные вопросы - постараюсь дать конкретные советы. |
|||
|
2
Живой Ископаемый
03.02.10
✎
17:33
|
ну.. првое что вспоминается - там есть галки "Не заменять" или что-то такое... но уже конечно не вспомню для ПКО или для ПКС тоже... но в конце концов можно остальные ПКС удалить
|
|||
|
3
fisher
03.02.10
✎
17:35
|
Вопрос осознал с опозданием :)
Ни разу так не пробовал. Нужно тестить. ИМХО, не взлетит частичная правка реквизитов :( |
|||
|
4
ZolotarevAA
03.02.10
✎
17:39
|
Я могу конкретизировать задачу более детально, если это необходимо, с указанием реквизитов, табличных частей и т.д.
Допустим, в нашем виде документов "МойДокумент" есть единственная табличная часть "Основная" с реквизитами А,Б и С. В базе имеется экземпляр такого объекта. Я хочу изменить наполнение реквизита Б по ключу А, не изменяя значения реквизита С. |
|||
|
5
Aleksey_3
03.02.10
✎
17:41
|
Легко.
В ПКО есть метод После загрузки. И там ты можешь программно заполнить свой документ |
|||
|
6
fisher
03.02.10
✎
17:41
|
(4) Т.е. загрузка в ту же базу, что и выгрузка? Так что мешает прописать полные правила для всех реквизитов 1:1 (т.е. выгружать ВСЕ данные объекта), а те что нужно, по ходу конвертировать?
|
|||
|
7
fisher
03.02.10
✎
17:43
|
(5) Тогда проще вообще свою обработку наваять - КД никаких преимуществ в этом случае не даст.
|
|||
|
8
ZolotarevAA
03.02.10
✎
17:45
|
(6) Конечно нет, базы разные на уровне конфигураций. Экземпляр получен при помощи другого правила. Можно запихнуть туда свой "костыль" , но объект очень "тяжелый" и перегружать его повторно полностью - вариант не очень.
|
|||
|
9
NcSteel
03.02.10
✎
17:45
|
(5) +1
Что то вроде Приемник.Реквизит = Приемник.Ссылка.Реквизит |
|||
|
10
ZolotarevAA
03.02.10
✎
17:46
|
(7) Я бы с радостью так и сделал, если бы не сложная конвертация полей, входящих в ключи.
|
|||
|
11
Господин ПЖ
03.02.10
✎
17:47
|
только не Приемник, а Объект
|
|||
|
12
NcSteel
03.02.10
✎
17:47
|
(11) Ну я конвертация больше года не открывал.
|
|||
|
13
fisher
03.02.10
✎
17:47
|
(8) Тогда ты что-то не то делаешь. Ты пытаешься принять "эстафету" у другого ПКО и "допоменять" отдельные реквизиты? Я правильно понял?
|
|||
|
14
Господин ПЖ
03.02.10
✎
17:48
|
только там поковыряться надо чуть-чуть... по дефалту ТЧ молча заменяется вся
|
|||
|
15
ZolotarevAA
03.02.10
✎
17:50
|
(5) Отлично. Каким образом протащить таблицу значений (протащенную через конвертацию полей) на точку входа процедуры "После загрузки" и как к ней обращаться?
|
|||
|
16
ZolotarevAA
03.02.10
✎
17:50
|
(13) Абсолютно верно.
|
|||
|
17
Господин ПЖ
03.02.10
✎
17:50
|
(15) передать в Параметр
|
|||
|
18
ZolotarevAA
03.02.10
✎
17:52
|
(17) Это верно для примитивных типов. Что делать с агрегатными объектами?
|
|||
|
19
fisher
03.02.10
✎
17:53
|
(15) Никак
(16) Но реально загрузка данных в конфигурацию-приемник уже произведена и ты не хочешь повторно перезагружать тяжелые объекты? Звиняй, но ИМХО прийдется так и сделать. Т.е. подправить нужным образом ПКО этого объекта и перезатянуть. |
|||
|
20
fisher
03.02.10
✎
17:55
|
Ибо имхается мне, что загрузка несопоставленных реквизитов объекта потрёт их к чёртовой матери. Но можешь проверить для очистки совести :)
|
|||
|
21
Господин ПЖ
03.02.10
✎
17:56
|
(18) uid одинаковые или нет? выгружать в параметры uid искать по ним
|
|||
|
22
ZolotarevAA
03.02.10
✎
17:59
|
(20) Ура. Похоже нашелся человек, который понял задачу на 100%. Может, я не очень корректно выразился в начале топика...и остальные собеседники не уловили суть.
(21) В контексте мой задачи это совершенно неважно. |
|||
|
23
fisher
03.02.10
✎
18:02
|
(22) Можешь, говорю, попробовать. Можно еще с параметром "Отказ" поиграться в ПКС. Но, думаю, всё равно бока будут, т.к. изначально такой вариант в КД вряд ли предусматривался. Табличные части скорее всего целиком перегружаются в целях оптимизации и еще чего-нибуть в таком духе...
Да и что ты теряешь в конце-концов? Только время выгрузки-загрузки? ИМХО, не очень большая цена. |
|||
|
24
ZolotarevAA
03.02.10
✎
18:03
|
В конце концов, если не будет иного варианта, придется расширить ПКО объекта и вызывать это самое "дополнение" по некоему флажку в параметрах. Ничего более изящного в голову не приходит.
|
|||
|
25
Господин ПЖ
03.02.10
✎
18:03
|
>>Можно еще с параметром "Отказ" поиграться в ПКС
не полетит... Отказ есть? Да. Нашел ссылку? Да. = Свободен. |
|||
|
26
fisher
03.02.10
✎
18:11
|
(24) Ну, если это опционально должно быть, тогда да - через параметры удобнее всего. А ПКС в зависимости от флажка конвертировать по разным правилам.
(25) Не совсем понял. На всякий случай уточню. Отказ в ПКС - это отказ от выгрузки конкретного свойства. Результат, по идее, должен быть идентичен тому, как если бы это свойство вообще не сопоставлялось. Просто как еще один вариант попробовать "сберечь" данные объекта в приемнике. |
|||
|
27
ZolotarevAA
03.02.10
✎
18:19
|
Ок, спасибо за участие. Завтра еще попробую "поиграться" с флажками. Если что апну тему.
|
|||
|
28
ZolotarevAA
04.02.10
✎
15:37
|
Как и обещал, апаю тему. Особенно приятно, что вопрос разрешился положительным образом.
Фокус удался и состоял он в том, что в процедуре "После загрузки" ПКО объекта есть доступ к объектам "Ссылка" - ссылка на найденный объект и "Объект" - загруженный объект. Таким образом, устанавливая в ложь стандартную обработку загрузки (Отказ = Истина), можно развлекаться с объектом в ИБ любым способом, насколько фантазии хватит. |
|||
|
29
Sonny
04.02.10
✎
16:03
|
(28) Как-то мудрено получается. А как он запишется, если Отказ = Истина? Или ты его по ссылке получаешь и заполняешь реквизитами Объекта, а потом записываешь явным образом?
|
|||
|
30
ZolotarevAA
04.02.10
✎
16:35
|
(29) Да, именно так я и сделал.
|
|||
|
31
fisher
05.02.10
✎
11:17
|
(30) Надо же, исхитрился таки :)
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |