|
Обмен XML: при обмене задваиваются предопределенные элементы... как побороть? | ☑ | ||
---|---|---|---|---|
0
dave2000
09.11.16
✎
16:21
|
Есть обмен между мобильным приложением и центральной базой, используется стандартный механизм обмена через ЧтениеXML()/ЗаписьXML(). Структура данных справочников в обеих базах одинакова, как и должно быть. В одном из справочников есть предопределенные элементы, они тоже для идентичности добавлены в обе базы. Но теперь, когда данные справочника одной базы зарегистрировать в плане обмена, предопределенные элементы не накладываются друг на друга, а задваиваются (появляются такие же копии с кружочком в иконке). Что я неправильно делаю? Как побороть?
|
|||
1
Мойдодыр
09.11.16
✎
16:22
|
не переноси предопределенные или назначь им одинаковый гуид
|
|||
2
kossmatiy
09.11.16
✎
16:23
|
(0) поиск по гуид отключи
|
|||
3
dave2000
09.11.16
✎
16:24
|
Думал в одной из баз предопределенные элементы удалить, чтобы они автоматом перенеслись из другой базы, но тогда везде перестаёт работать код, где используется прямое обращение к предопределенным элементам (в конфигураторе то они не заданы).
|
|||
4
dave2000
09.11.16
✎
16:27
|
(2) Можно подробнее, как? Я не использую обработку "универсальный обмен данными", где есть эта галочка, я использую стандартные механизмы ЗаписьXML, а потом ЧтениеXML и затем запись объекта.
|
|||
5
Мойдодыр
09.11.16
✎
16:28
|
удали, потом сразу зарегестрируй и переноси
|
|||
6
Fragster
гуру
09.11.16
✎
16:28
|
(4) плохо :)
|
|||
7
Fragster
гуру
09.11.16
✎
16:29
|
можно посмотреть, как сделано в "Выгрузка и загрузка данных XML.epf" с ИТС
|
|||
8
Мойдодыр
09.11.16
✎
16:31
|
(7) Задвоит предеопределенные легко данная обработка
|
|||
9
EugeniaK
09.11.16
✎
16:33
|
(8) Нет. Там специальная обработка предопределенных. Она их не задваивает.
|
|||
10
EugeniaK
09.11.16
✎
16:34
|
(4) В тех, что задвоились, оставь вариант с одним и тем же гуидом в обеих базах. Второй элемент удали с заменой на новый.
|
|||
11
kossmatiy
09.11.16
✎
16:35
|
После переноса (задвоения) отвяжи признак предопределенности у ненужных эл-тов и не используй их более. Ну и ссылки с ними все замени на новые.
|
|||
12
kossmatiy
09.11.16
✎
16:37
|
(9) Раньше кстати задваивала легко. Может что то изменилось теперь или я какую то галку прогледел?
|
|||
13
kossmatiy
09.11.16
✎
16:39
|
(11) Конфа кстати не озвучена. В типовых сейчас есть обработка "Поиск и замена дублей". Прекрасно справляется с заменой в таких случаях.
|
|||
14
dave2000
09.11.16
✎
16:48
|
(7) (9) (12)
В модуле обработки есть процедурки - ВыгрузитьТаблицуПредопределенных(ЗаписьXML) - ЗагрузитьТаблицуПредопределенных(ЧтениеXML) используются в процедурах ВыполнитьВыгрузку() и ВыполнитьЗагрузку(). Сейчас поковыряю, может это оно. (13) Обе конфы самописные. |
|||
15
dave2000
09.11.16
✎
17:19
|
Нашел правильное решение! Внизу статьи: http://its.1c.ua/db/metod8dev#content:5367:hdoc
В базе-получателе для справочника нужно установить свойство "Обновление предопределенных данных" = "Не обновлять автоматически" (вместо "Авто"), тогда элементы справочника не будут создаваться сразу. А уже при загрузке данных из источника предопределенные элементы создадутся с ГУИДами базы источника и в дальнейшем будут нормально накладываться. А метод (14) тоже правильный, но он скорее подходит для независимых баз, где не хотелось бы изменять метаданные. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |