|   |   | 
| 
 | Обмен 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) тоже правильный, но он скорее подходит для независимых баз, где не хотелось бы изменять метаданные. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |