Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Обмен XML: при обмене задваиваются предопределенные элементы... как побороть?

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

используются в процедурах ВыполнитьВыгрузку() и ВыполнитьЗагрузку(). Сейчас поковыряю, может это оно. 

(13) Обе конфы самописные.
   dave2000
 
15 - 09.11.16 - 17:19
Нашел правильное решение! Внизу статьи: http://its.1c.ua/db/metod8dev#content:5367:hdoc

В базе-получателе для справочника нужно установить свойство "Обновление предопределенных данных" = "Не обновлять автоматически" (вместо "Авто"), тогда элементы справочника не будут создаваться сразу. А уже при загрузке данных из источника предопределенные элементы создадутся с ГУИДами базы источника и в дальнейшем будут нормально накладываться.

А метод (14) тоже правильный, но он скорее подходит для независимых баз, где не хотелось бы изменять метаданные.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Миста — веселый ресурс со своими эксклюзивными тараканами Ymryn
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует