| 
    
        
     
     | 
    
  | 
Конвертация данных, изменение GUID-а. | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        бомболюк    
     17.01.12 
            ✎
    14:54 
 | 
         
        Добрый день.
  
        Подскажите пожалуйста, как то можно при выгрузке данных подменить значение уникального идентификатора на свой?  | 
|||
| 
    1
    
        ЧеловекДуши    
     17.01.12 
            ✎
    14:55 
 | 
         
        Можно, во время, когда еще не загрузил файл, а он уже выгружен :)     
         | 
|||
| 
    2
    
        ЧеловекДуши    
     17.01.12 
            ✎
    14:55 
 | 
         
        + Ну или при формировании файлов подменяешь ГУИД на свой.     
         | 
|||
| 
    3
    
        ЧеловекДуши    
     17.01.12 
            ✎
    14:55 
 | 
         
        + И так же можно это делать во время загрузки.     
         | 
|||
| 
    4
    
        бомболюк    
     17.01.12 
            ✎
    14:56 
 | 
         
        да мне бы обойтись возможностями конвертации хотелось бы     
         | 
|||
| 
    5
    
        ЧеловекДуши    
     17.01.12 
            ✎
    14:56 
 | 
         
        Вот только беда в том, что как ты сопоставишь гуиды?     
         | 
|||
| 
    6
    
        бомболюк    
     17.01.12 
            ✎
    14:56 
 | 
         
        что то там подменять в xml-файле после выгрузки не охота     
         | 
|||
| 
    7
    
        бомболюк    
     17.01.12 
            ✎
    14:56 
 | 
         
        (5) а у меня есть табличка ;-)     
         | 
|||
| 
    8
    
        ЧеловекДуши    
     17.01.12 
            ✎
    14:57 
 | 
         
        (4)Тогда какая разница, какой Гуид?     
         | 
|||
| 
    9
    
        бомболюк    
     17.01.12 
            ✎
    14:58 
 | 
         
        предыстория: 2 базы сливаются в одну. Эти 2 базы раньше были одной, потом одну скопировали и начали вторую. В итоге гуиды в основном одни и теже, а на разные гуиды есть таблица соответствия элементов в разных базах.     
         | 
|||
| 
    10
    
        ЧеловекДуши    
     17.01.12 
            ✎
    14:59 
 | 
         
        Бред несу. Гуид же присваивается объекту во время его создания.
  
        Т.е. по сути он системный.  | 
|||
| 
    11
    
        бомболюк    
     17.01.12 
            ✎
    14:59 
 | 
         
        (10) ну нет, его можно назначит для нового объекта     
         | 
|||
| 
    12
    
        ЧеловекДуши    
     17.01.12 
            ✎
    15:00 
 | 
||||
| 
    13
    
        бомболюк    
     17.01.12 
            ✎
    15:01 
 | 
         
        +(9) ну и значит сначала выгружается инфа из одной базы, а потом из другой. и чтоб правила не менять для второй выгрузки мне только и надо решить задачу в сабже, иначе надо правила менять а лень.     
         | 
|||
| 
    14
    
        Aleksey    
     17.01.12 
            ✎
    15:01 
 | 
         
        Штатно - нет     
         | 
|||
| 
    15
    
        ЧеловекДуши    
     17.01.12 
            ✎
    15:01 
 | 
||||
| 
    16
    
        cw014    
     17.01.12 
            ✎
    15:02 
 | 
         
        (13) Кури в сторону обработчиков     
         | 
|||
| 
    17
    
        бомболюк    
     17.01.12 
            ✎
    15:02 
 | 
         
        (16) курил уже, может подскажешь каких?     
         | 
|||
| 
    18
    
        cw014    
     17.01.12 
            ✎
    15:02 
 | 
         
        (13) Как вариант отключаешь поиск и подменяешь УзелСсылки     
         | 
|||
| 
    19
    
        бомболюк    
     17.01.12 
            ✎
    15:03 
 | 
         
        (18) есть пример?     
         | 
|||
| 
    20
    
        Рэйв    
     17.01.12 
            ✎
    15:05 
 | 
         
        (0)А зачем?     
         | 
|||
| 
    21
    
        cw014    
     17.01.12 
            ✎
    15:05 
 | 
         
        (20) смотри (9)     
         | 
|||
| 
    22
    
        cw014    
     17.01.12 
            ✎
    15:06 
 | 
         
        (19) Если дождешься - попробую накинуть     
         | 
|||
| 
    23
    
        бомболюк    
     17.01.12 
            ✎
    15:07 
 | 
         
        я тута долго ;-) спасибо тебе добрый человек     
         | 
|||
| 
    24
    
        Aleksey    
     17.01.12 
            ✎
    15:08 
 | 
         
        (17) 
  
        Обработчики "Правила конвертации объектов" При загрузке Событие выполняется после попытки идентификации. В случае успешной синхронизации доступен найденный объект. В противном случае его значение Неопределено. Можно произвести произвольную инициализацию, заполняемого данными объекта. Параметры: ОбъектНайден - Булево. Если значение параметра равно Ложь, то объект не идентифицирован, то есть не найден в информационной базе Объект - Произвольный. Загружаемый, модифицируемый объект, созданный по ссылке или найденный в информационной базе. Если способ идентификации объекта в файле не указан (т.е. отсутствует узел "Ссылка"), то параметр содержит значение Неопределено. В этом случае в обработчике возможна произвольная инициализация загружаемого объекта, в противном случае, объект будет создан автоматически.  | 
|||
| 
    25
    
        бомболюк    
     17.01.12 
            ✎
    15:12 
 | 
         
        (24) да, судя по описанию это решит проблему. Спасибо за наводку.     
         | 
|||
| 
    26
    
        cw014    
     17.01.12 
            ✎
    16:53 
 | 
         
        (23) Если еще тут, то лови:
  
        1. Отключаешь все ключи поиска 2. "При выгрузке" объекта ставишь такой примерно код: УзелСсылкиXML = СоздатьУзел("Ссылка"); УстановитьАтрибут(УзелСсылкиXML,"Нпп",УзелСсылки); УзелГуид = ДобавитьУзел(УзелСсылкиXML,"Свойство"); УстановитьАтрибут(УзелГуид,"Тип","Строка"); УстановитьАтрибут(УзелГуид,"Имя","{УникальныйИдентификатор}"); одЗаписатьЭлемент(УзелГуид,"Значение", "00000000-0000-0000-0000-000000000000"); УзелСсылкиXML.ЗаписатьКонецЭлемента(); // тут можно записать дополнительные поля поиска кроме гуида УзелСсылкиXML.ЗаписатьКонецЭлемента(); УзелСсылки = УзелСсылкиXML.Закрыть(); ДобавитьПодчиненный(Приемник,УзелСсылки); 3. "После выгрузки" объекта ставишь код: ВыгруженныеОбъекты[КлючВыгружаемыхДанных] = УзелСсылки; И будет тебе счастье  | 
|||
| 
    27
    
        бомболюк    
     18.01.12 
            ✎
    09:17 
 | 
         
        (26) спасибо, попробую. что то первый вариант у меня не заладился. не понял, как в ПриЗагрузке получить старый ГУИД, который надо заменить на другой из таблицы соответствия.     
         | 
|||
| 
    28
    
        Aprobator    
     18.01.12 
            ✎
    09:28 
 | 
         
        (27) дык куда нить записать его при выгрузке и ключик придумать для поиска.     
         | 
|||
| 
    29
    
        GenV    
     18.01.12 
            ✎
    09:30 
 | 
||||
| 
    30
    
        cw014    
     18.01.12 
            ✎
    09:32 
 | 
         
        (27) В xml объект можно вставить произвольную ветку. Главное ее отработать при загрузке, что бы не отвалилась на загрузке (простите мой каламбур)     
         | 
|||
| 
    31
    
        Aprobator    
     18.01.12 
            ✎
    09:35 
 | 
         
        +(30) кстати - если из 8 ки выгрузка то элементарно. В КД есть передача значения в параметр. Лепишь там значение = Твой ГУИД, имя праметра. При загрузке можно достать из ПараметрыОбъекта[ИмяПараметра]. Из 7 - ки придется прописывать руками.     
         | 
|||
| 
    32
    
        GenV    
     18.01.12 
            ✎
    09:38 
 | 
         
        (31) Все можно сделать проще )     
         | 
|||
| 
    33
    
        ЧеловекДуши    
     18.01.12 
            ✎
    09:38 
 | 
         
        Больше всего поражает, а накой, Автору, нужен старый гуид, если он по сути только идентифицирует загружаемые данные.
  
        При этом гуид может и совпасть, т.к. автор уже писал, что базы раньше были общими. Т.е. ему надо чисто подставить элементы по определенному признаку + Создать новые обекты и соответственно у нового будет новый гуид, и далее только нужно помнить о новом и создать где нить таблицу соответствия :) ...но автор истинный программист, он пойдет по граблям через гору :)  | 
|||
| 
    34
    
        GenV    
     18.01.12 
            ✎
    09:40 
 | 
         
        (33) Правильно. Ему просто сразу нужно указывать для элементов новый УИД. А КД сама должна или найти или создать элемент.     
         | 
|||
| 
    35
    
        Aprobator    
     18.01.12 
            ✎
    09:47 
 | 
         
        (33) дык таблица ж соответствия для поиска. Не хочется ему использовать стандартные поля поиска. Поскольку после того как базы разъехались мало ли что там происходило с теми же ключевыми полями код и наименование (у справочников например), а свести все хочется в то, что было.
  
        (32) может быть ) Я се вооще на КД сваял загрузку из экселя )))  | 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |