Конвертация данных, изменение GUID-а. #590099


#0 by бомболюк
Добрый день. Подскажите пожалуйста, как то можно при выгрузке данных подменить значение уникального идентификатора на свой?
#1 by ЧеловекДуши
Можно, во время, когда еще не загрузил файл, а он уже выгружен :)
#2 by ЧеловекДуши
+ Ну или при формировании файлов подменяешь ГУИД на свой.
#3 by ЧеловекДуши
+ И так же можно это делать во время загрузки.
#4 by бомболюк
да мне бы обойтись возможностями конвертации хотелось бы
#5 by ЧеловекДуши
Вот только беда в том, что как ты сопоставишь гуиды?
#6 by бомболюк
что то там подменять в xml-файле после выгрузки не охота
#7 by бомболюк
а у меня есть табличка ;-)
#8 by ЧеловекДуши
Тогда какая разница, какой Гуид?
#9 by бомболюк
предыстория: 2 базы сливаются в одну. Эти 2 базы раньше были одной, потом одну скопировали и начали вторую. В итоге гуиды в основном одни и теже, а на разные гуиды есть таблица соответствия элементов в разных базах.
#10 by ЧеловекДуши
Бред несу. Гуид же присваивается объекту во время его создания. Т.е. по сути он системный.
#11 by бомболюк
ну нет, его можно назначит для нового объекта
#12 by ЧеловекДуши
#13 by бомболюк
+ ну и значит сначала выгружается инфа из одной базы, а потом из другой. и чтоб правила не менять для второй выгрузки мне только и надо решить задачу в сабже, иначе надо правила менять а лень.
#14 by Aleksey
Штатно - нет
#15 by ЧеловекДуши
#16 by cw014
Кури в сторону обработчиков
#17 by бомболюк
курил уже, может подскажешь каких?
#18 by cw014
Как вариант отключаешь поиск и подменяешь УзелСсылки
#19 by бомболюк
есть пример?
#20 by Рэйв
А зачем?
#21 by cw014
смотри
#22 by cw014
Если дождешься - попробую накинуть
#23 by бомболюк
я тута долго ;-) спасибо тебе добрый человек
#24 by Aleksey
Обработчики "Правила конвертации объектов" Событие выполняется после попытки идентификации. В случае успешной синхронизации доступен найденный объект. В противном случае его значение Неопределено. Можно произвести произвольную инициализацию, заполняемого данными объекта. Параметры: ОбъектНайден - Булево. Если значение параметра равно Ложь, то объект не идентифицирован, то есть не найден в информационной базе Объект - Произвольный. Загружаемый, модифицируемый объект, созданный по ссылке или найденный в информационной базе. Если способ идентификации объекта в файле не указан (т.е. отсутствует узел "Ссылка"), то параметр содержит значение Неопределено. В этом случае в обработчике возможна произвольная инициализация загружаемого объекта, в противном случае, объект будет создан автоматически.
#25 by бомболюк
да, судя по описанию это решит проблему. Спасибо за наводку.
#26 by cw014
Если еще тут, то лови: 1. Отключаешь все ключи поиска 2. "При выгрузке" объекта ставишь такой примерно код: 3. "После выгрузки" объекта ставишь код: ВыгруженныеОбъекты[КлючВыгружаемыхДанных] = УзелСсылки; И будет тебе счастье
#27 by бомболюк
спасибо, попробую. что то первый вариант у меня не заладился. не понял, как в ПриЗагрузке получить старый ГУИД, который надо заменить на другой из таблицы соответствия.
#28 by Aprobator
дык куда нить записать его при выгрузке и ключик придумать для поиска.
#30 by cw014
В xml объект можно вставить произвольную ветку. Главное ее отработать при загрузке, что бы не отвалилась на загрузке (простите мой каламбур)
#31 by Aprobator
+ кстати - если из 8 ки выгрузка то элементарно. В КД есть передача значения в параметр. Лепишь там значение = Твой ГУИД, имя праметра. При загрузке можно достать из ПараметрыОбъекта[ИмяПараметра]. Из 7 - ки придется прописывать руками.
#32 by GenV
Все можно сделать проще )
#33 by ЧеловекДуши
Больше всего поражает, а накой, Автору, нужен старый гуид, если он по сути только идентифицирует загружаемые данные. При этом гуид может и совпасть, т.к. автор уже писал, что базы раньше были общими. Т.е. ему надо чисто подставить элементы по определенному признаку + Создать новые обекты и соответственно у нового будет новый гуид, и далее только нужно помнить о новом и создать где нить таблицу соответствия :) ...но автор истинный программист, он пойдет по граблям через гору :)
#34 by GenV
Правильно. Ему просто сразу нужно указывать для элементов новый УИД. А КД сама должна или найти или создать элемент.
#35 by Aprobator
дык таблица ж соответствия для поиска. Не хочется ему использовать стандартные поля поиска. Поскольку после того как базы разъехались мало ли что там происходило с теми же ключевыми полями код и наименование (у справочников например), а свести все хочется в то, что было. может быть ) Я се вооще на КД сваял загрузку из экселя )))
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С