v8: Изменение идентификатора предопределенного элемента справочника #556296


#0 by dk
Исходные: 2 базы 1С 8.2 УПП + доработка база 1 - хранит список номенклатуры, база 2 - пока пустая В базе 2 завел предопределенные элементы в справочнике номенклатура. Перенес универсальной обработкой (перенос XML) номенклатуру из база 1 в база 2 Проблема: обработка переносит и синхронизирует по внутреннему идентификатору. С одной стороны это хорошо, т.к. могут понадобиться дополнительные выгрузки номенклатуры, а может и еще чего в базу 2. Но, надо как=то связать несколько элементов номенклатуры база 1 с предопределенными элементами в база 2. Связь 1 к 1, т.е. База1: товар1 - база2: продопределенный_товар1 База1: товар2 - база2: продопределенный_товар2 База1: товар3 - база2: продопределенный_товар3 --- В данный момент после переноса в базе 2 имеем: База2: т.е. задублировались элементы. Собственно вопрос: Как-нить можно поменять идентификаторы у предопределенных элементов в базе 2? Или только правкой в скуле?
#1 by Живой Ископаемый
только
#2 by Широкий
Идишники у предопределенных еще и в конфу зашиты
#3 by dk
вооот, уже интересно есть у кого положительный опыт подобных махинаций с ИД?
#4 by Лефмихалыч
идентификатор предопределенного элемента можно изменить в конфигураторе. Только, я не понимаю, зачем - в какая-то противоестественная струйня
#5 by Defender aka LINN
Пипец. А что, в правилах обмена поиск настроить - не, не по-пацански?
#6 by dk
нет правил обмена, типовая обработка по переносу между одинаковыми конфами
#7 by Mickeleangelo
1. Добавить в Базу 1 предопределенные товары 2. В Базе 1 обработкой поиска и замены дублей слить вместе предопределенные и введенные вручную товары 3. Выгрузить cf Базы 1 4. Удалить из Базы 2 предопределенные товары (она же пустая еще) и через «сравнить, объединить» загрузить предопределенные элементы из cf (без флага «Режим копирования») 5. Удалить предопределенные в Базе 1, сами товары останутся
#8 by YurOK_51
А Ctrl+C и Ctrl+V разве не переносит элементы с идентификаторами?
#9 by dk
хдееее?
#10 by dk
слить номенклатуру - плохая идея
#11 by dk
мимо
#12 by Steel_Wheel
Не переносит. Внутренние идентификаторы будут различными. Только через обновление или сравнение/объединение
#13 by Defender aka LINN
Ну так напиши. Тоже мне, проблему нашел
#14 by dk
лениво
#15 by dk
помогите лентяю )
#16 by Живой Ископаемый
2ну Config - этож тоже таблица в базе... правда не знаю как там искать...
#17 by Mickeleangelo
Почему?
#18 by dk
база большая и перепроводить доки за несколько лет - не вариант
#19 by Sammo
А не лениво копаться в SQL таблице с непредсказуемыми последствиями. Ни разу не видел, чтобы меняли идентификатор предопределенного элемента.
#20 by Mickeleangelo
Перепроводить? Достаточно перезаписать. Лучше с ДокументОбъект.ОбменДанными.Загрузка = Истина; Ну и с записями в регистрах аналогично.
#21 by dk
немного сташно, но не лениво просто колбасить правила - это долго и нудно, да и не только номенклатура может понадобиться, а других вариантов пока не видно
#22 by dk
не, все равно плохой вариант там еще и распределенка есть + эта номенклатура почти в каждом документе есть - это почти всю базу перезаписать и отправить в периферийки. а база больше 30 гб
#23 by rs_trade
что там может быть в конфу зашито? предопределенный отличается от обычного только флагом [_IsMetadata]. Поменял сейчас уид. Все работает как обычно.
#24 by Живой Ископаемый
2 ну здрасьте - удалитьрегистрациюизменений...
#25 by dk
забудьте про вараинт перезаписи
#26 by Mickeleangelo
Быдлокод-стайл: Добавить в Базе 2 константы Товар 1, Товар 2…
#27 by dk
да, про константы думал - это крайний вариант
#28 by Sammo
При изменениях у меня слетало
#29 by dk
при каких изменениях?
#30 by qeos
я так понял что это разовая трабла.. значит после переноса Товар1 должен быть по идее Предопределенный_Товар1, а оно не так.. тогда обработку, где идет поиск по ссылкам и замена Товар1 на Предопределенный_Товар1.. фсе..
#31 by rs_trade
меняй не бойся )) старые уиды сохрани только. на всякий случай.
#32 by dk
думаю не разовая, т.к. еще часть документов может понадобиться перенести
#33 by dk
щас тестовую на скуле разворачиваю, проверять буду
#34 by qeos
ну и в чем проблема после переноса еще раз выполнить КрутуюОбработкуПоСменеЭлементовСправочниковНаПредопределенные?
#35 by Aprobator
+ меняй - нафиг вообще уид нужен? Ну ели только на него что то ссылается.
#36 by dk
проблема, т.к. заранее не известно количество таких переносов и данные, которые будут в переносах
#37 by qeos
тогда поправь правила.. это еще проще сделать
#38 by dk
нифига, теперь предопределенные не находится через Справочники.ХХХ.ИмяПредопределенного придется в таблице конфиги рыться
#39 by dk
пишет объект не найден и старый идентификатор пишет
#40 by rs_trade
сейчас еще раз поменял уид. все находится. как менял?
#41 by rs_trade
мы же говорим о замене поля _IDRRef?
#42 by SunFox
Проще правилами разруливать, если работать обмен будет постоянно, не полиниться настроить КД. Был программист в моей конторе до меня, так он чтоб КД не изучать нагенерил по умолчанию правил, а потом при необходимости правил не правила, а конфы... Пришлось все херить
#43 by SunFox
Если обработка выгрузку делает, то модифицировать ее чтоб работала с регистром сведений "СоответсвиеОбъектовДляОбмена" как например в типовых обменах
#44 by Immortal
можно поменять, да.. распотрошить конфу и запотрошить обратно..
#45 by Aprobator
а че если все сделать быстро, будет очень даже незаметно.
#46 by Aprobator
..... А распотрошить и зашить - самое то.
#47 by dk
да
#48 by AaNnDdRrEeYy
Поменяй в первой базе гуид обычного элемента на гуид предопределенного из второй
#49 by dk
уже обсуждали
#50 by dk
вверх, где любители ковырять внутренности 8-ки?
#51 by rs_trade
скажи как менял и что потом сделал что бы ошибка вывалилась. я так и не смог ошибку получить.
#52 by dk
просто в скуле поменял UPDATE [Per_dk].[dbo].[_Reference125] ---- потом в табло результат видно - перестал по имени предопределенному искать
#53 by Immortal
поменяй в файловой ИБ) это интереснее
#54 by rs_trade
действительно вываливается ошибка. ну тогда вариант создать в базе 1 новые элементы. присвоить им гуиды предопределенных. а потом поиск и замена значений.
#55 by Sammo
На правах пятницы: секс стоя и в гамаке...
#56 by Sammo
Создать новые предопределенные с нужными гуидами можно (уже писали). Но топикстартер не хочет делать поиск и замену. Это типа долго.
#57 by dk
не хочу
#58 by Широкий
В есть IE есть функционал - он позволяет конфу править (в том числе и менять ГУИДЫ метаданных).. Юзай ее и плюс замена в скуле
#59 by dk
кто такой IE? поподробнее
#60 by vmv
зачем делать предопределенные элементы на типовом справочнике УПП, да еще и на самом используемом "Номенклатура"? Что создать себе кучу проблем при обновлениях. Если возможность создать свой РС, есть ПВХ, есть куча других способов решить задачу без слома типового функционала
#61 by Широкий
Вернее EI - Enterprise Integrator
#62 by dk
про типовую забудь, эта база не будет обновляться
#63 by dk
не знаю что это
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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