Имя: Пароль:
1C
1С v8
Можно ли изменить уникальный идентификатор у уже существующего элемента?
,
0 Dunstan
 
25.07.13
14:14
Есть элемент справочника Организации можно ему сделать новый УИН как для  нового?
1 cw014
 
25.07.13
14:15
Только у нового можно УИД поставить. Или запросами прямыми. По сути конечно и в файловой можно, но нужно знать как
2 Dunstan
 
25.07.13
14:16
а поменять УИД между старым и Новым?
3 MSOliver
 
25.07.13
14:17
Средствами 1с нельзя
4 Maxus43
 
25.07.13
14:17
нельзя поменять у существующего уже.
зачем?
5 cw014
 
25.07.13
14:18
(2) Что бы значил твой вопрос?
6 Шапокляк
 
25.07.13
14:19
Создать новый с заданным уидом и подменить им старый во всех ссылках на него.
7 Maxus43
 
25.07.13
14:19
НовыйОбъект = СтарыйОбъект.Скопировать();
НовыйОбъект.Записать();
СтарыйОбъект.Удалить();

Вот тебе замена ссылки у существующего
8 Lenny
 
25.07.13
14:20
Сделай новую организацию и ссылки перебрось
9 cw014
 
25.07.13
14:20
Задачу объясни конкретнее, зачем тебе это надо?
10 Maxus43
 
25.07.13
14:20
Нет задачи, даже в теории чтобы надо было поменять у существующего ГУИД
11 cw014
 
25.07.13
14:22
(10) Иногда это нужно, например для обмена данными, или прямых запросов, в которых завязано на УИДе
12 MSOliver
 
25.07.13
14:23
Это будет уже другой элемент, такое проканает только с не ссылочными данными
13 Dunstan
 
25.07.13
14:24
Много баз сливают в одну. Базы делались из одной "рыбы". Т.е. был объект "Наша организация" со своим УИД. Брали Нашу Организацию и делали из нее ООО "Ромашка". Теперь эти лютики и ромашки надо слить в одну базу. И при заливке через ВыгрузкуЗагрузкуДанныхХМЛ Ромашка затирает Лютик и наоборот. Поэтому было бы хорошо в Ромашке поменять УИД заранее чтоб ничего не затереть.

Делаю как (8) поиск и замена значений, но очень уж долго работает...
14 Maxus43
 
25.07.13
14:24
(11) Прямые запросы - нарушение соглашения. Для обменов - делается по сути (7), т.е. стандартная поиск и замена ссылок, Или регистр соответсвия объектов ИБ юзается... короче задача решается не таким путём как хочет автор
15 dmpl
 
25.07.13
14:24
(10) Как насчет ситуации, когда при обмене у разных объектов совпали идентификаторы?
16 cw014
 
25.07.13
14:25
(13) Лучше не УИДы меняй, а поменяй названия и прочую инфу между собой. А УИДы оставь как есть
(14) А мне все равно на соглашение, ибо база данных является моей собственностью
17 MSOliver
 
25.07.13
14:25
(10) ну почему, сливаем данные из двух таблиц в одну - возможно Уиды совпадут
18 Живой Ископаемый
 
25.07.13
14:26
2(15) такого не бывает.
19 Maxus43
 
25.07.13
14:26
(16)>>А мне все равно на соглашение
нуну...
20 Живой Ископаемый
 
25.07.13
14:26
2(17) из каких двух таблиц?
21 Dunstan
 
25.07.13
14:26
(16) Загрузка выгрузка идет по УИДАм
22 Maxus43
 
25.07.13
14:27
(15)(19) бывает, за 4 года 1 раз словил :)
Но решение не (0), а опять же Поиск и замена значений. Сиречь создание нового элемента и перекидывание на него ссылок во всей базе
23 MSOliver
 
25.07.13
14:27
(18) теоретически возможно даже если база не потомок
25 MSOliver
 
25.07.13
14:28
(20) из любых ссылочных
26 Maxus43
 
25.07.13
14:28
(22)>(18) за 4 года 1 раз словил
27 Dunstan
 
25.07.13
14:29
Ну так что, граждане, есть выход из тунеля?
28 Живой Ископаемый
 
25.07.13
14:30
2(22) не бывает, разве только сделать так специально. А раз специально сделали - значит думали когда делали.
2(25) и кто же завел в двух разные объектынх таблицах записи с пересекающимися уидами и зачем он это сделал?
29 Живой Ископаемый
 
25.07.13
14:30
2(27) тебе уже сказали, что нет.
30 Maxus43
 
25.07.13
14:31
(28) бывает. В разных ИБ - свой независимый генератор гуидов, пересечение их возможно в теории, но вероятность стремится к нулю
31 Живой Ископаемый
 
25.07.13
14:33
2(30) настолько быстро сремится к нулю, что то о чем ты описал без специальных действий ты мог словить самое ранее через миллиард лет, а не за четыре года.
32 maxar
 
25.07.13
14:35
(27) настрой загрузку/выгрузку организаций не по УИДАм ,а  по ИНН , в чем проблема то...
33 Maxus43
 
25.07.13
14:35
(31) когда нибудь случается в первый раз, у меня так документ по обменам бегал, в 2-х разных узлах создались одинаковые гуиды
34 mdocs
 
25.07.13
14:36
(0) Какое-то глупое ограничение платформы тянущееся много лет, может в 9.0 все-таки разрешат.
35 Maxus43
 
25.07.13
14:39
(34) последствия представляешь? вот автор (0) заменит гуид - и пол базы в битых ссылках. Красота, да
36 dmpl
 
25.07.13
14:39
(31) Любая вероятность 50% - либо случится, либо нет. (с)
37 Maxus43
 
25.07.13
14:40
(33) + вообще - одинаковые гуиды можно найти в больших РИБ базах, но очень редко попадается что они в одном виде документа-справочника
38 Живой Ископаемый
 
25.07.13
14:41
2(34) что разрешат? Что если поменять уид в записи, то во всех других записях уид тоже автоматом поменятся, и это будет происходить мгновенно?
39 Maxus43
 
25.07.13
14:42
(27) есть, но не такой как в (0). Если сливаешь по обменам - вобще проблем нет же, см (32)
40 Torquader
 
25.07.13
18:05
Уид - это "фактически" номер объекта в его таблицы.
Во всех местах, где идёт ссылка на объект, указывается этот номер.
Что будет, если у какой-то записи мы поменяем "номер" - это уже будет другая запись, а от старой останутся неразрешимые ссылки, так как она будет ссылаться на номер, которого нет.
То есть, даже если вам каким-то чудом удастся подменить GUID в таблице объекта, всё равно придётся запускать обработку поиска и замены значений, чтобы поменять все ссылки.
41 mdocs
 
25.07.13
23:02
(38) Про мгновенно никто не говорит. Но метод такой необходим. Одним общепринятым извращением станет меньше.
42 Живой Ископаемый
 
25.07.13
23:04
2(41) этот метод реализуем изменением уида в ведущей таблице средствами SQL и во всех ведомых.
Или через поиск и замену значений. Если кто-то не знает этого или не умеет этого - то это уже его проблемы а не 1С.
43 МЮЛЛЕР
 
25.07.13
23:05
> Можно ли изменить уникальный идентификатор у уже существующего элемента

База 10 ГБ размером. Как ты себе это представляешь?
44 mdocs
 
25.07.13
23:05
(42) Средства скл давно стали стандартными в файловом варианте?
45 mdocs
 
25.07.13
23:06
(43) бзик-бзик-бзик в 1000 раз быстрее чем перенести 10Гб документов на новую организацию
46 Живой Ископаемый
 
25.07.13
23:07
2(44) Не стали вообще. НО и создать другой элемент справочника и запустить поиск и замену значений в файловом варианте - тоже не очень долго. Если вдруг это долго, то значит либо базе давно стоит быть в клиент-серверном варианте, либо опять же, не делать вообще
47 mdocs
 
25.07.13
23:09
(46) из-за отсутсивя элементарного метода приходится выбирать какой изврат менее гиморен в данном случае. типично одинэсный подход)
48 МЮЛЛЕР
 
25.07.13
23:09
(44) думаю, напрямую в таблице SQL можно поменять
49 Живой Ископаемый
 
25.07.13
23:09
2(45) бзик-бзик-бзик и есть перенести документы на новую организацию, и ТС говорит что это медленно у него.
50 Живой Ископаемый
 
25.07.13
23:10
2(47) да нет, типично одинэсный подход говорить что метод которого не должно быть вообще, нужен
51 МЮЛЛЕР
 
25.07.13
23:12
(45) > бзик-бзик-бзик в 1000 раз быстрее

не получится так на физическом уровне.  GUID - это ссылка.
Это то же самое, что ты во всех таблицах документов новую ссылку пропишешь.
52 mdocs
 
25.07.13
23:14
(51) изменение ссылки во всех таблицах сравниваешь с полным перепроведением документов по новой организации? совесть есть?
53 Живой Ископаемый
 
25.07.13
23:15
2(52) кто сказал о полном перепроведении? ты давно заглядывал в поиск и замену значений?
54 МЮЛЛЕР
 
25.07.13
23:16
(52) напиши правила обмена или возьми с БСП
55 МЮЛЛЕР
 
25.07.13
23:17
+(54) там есть возможность проассоцииоровать один элемент с другим
56 МЮЛЛЕР
 
25.07.13
23:18
регистр соответствий
57 mdocs
 
25.07.13
23:20
(53) Возможно, возможно и сопоставимо по времени, но  все равно куча ненужных телодвижений, часть стандартных алгоритмов проверки документов все равно отрабатывает. Прямая замена все равно работала бы гораздо корректнее и не зря ты советуешь скуль юзать.
58 Живой Ископаемый
 
25.07.13
23:22
2(57) зачем она отрабатывает? потому что криворукие программисты не поставили проверку на ОбменДанными.Загрузка?
59 Serg_1960
 
26.07.13
00:15
Dunstan , посмотри в своей конфигурации наличие регистра сведений  СоответствиеОбъектовДляОбмена. И если он есть - изучи зачем он нужен и как его использует конфигурация.
60 dmpl
 
26.07.13
08:19
(51) Заменить 1 поле быстрее, чем переписывать весь объект.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.