Изменить идентификатор объекта #627549


#0 by elian_hunter
А можно каким-то образом изменить идентификатор объекта? Конкретно мне надо - документа! Вообще где он? как его прочитать? и поменять... ))
#1 by vmv
нет
#2 by H A D G E H O G s
Можно.
#3 by H A D G E H O G s
Но не нужно
#4 by andrewks
+1 :)
#5 by ptiz
Идентификатор = Объект Замена идентификатора = Поиск и замена значений
#6 by elian_hunter
нет... идентификатор не равно объект... мне нужно прочитать гуид объекта... неужели нет способа??
#7 by ptiz
Опиши задачу целиком.
#8 by vmv
гуид - загугли тут или в любой типовой
#9 by Heckfy
ДокументСсылка.<Имя документа>.УникальныйИдентификатор (DocumentRef.<Имя документа>.UUID) ДокументСсылка.<Имя документа> (DocumentRef.<Имя документа>) УникальныйИдентификатор (UUID) Синтаксис: УникальныйИдентификатор Возвращаемое значение: Тип: УникальныйИдентификатор. Описание: Получает уникальный идентификатор ссылки. Ссылка может быть получена из уникального идентификатора с помощью метода менеджера ПолучитьСсылку. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. См. также: ДокументМенеджер, метод ПолучитьСсылку
#10 by elian_hunter
при загрузке данных из ЗУП в БП, а именно документа "Отражение зарплаты в регл. учете" документ за август  создается, а за февраль удаляется. я попробовал изменить гуид в хмл-е и сработало! видимо каким-то образом совпали гуиды документов за февраль и август (не пойму каким) хочу убедиться что я прав... для этого мне надо прочитать гуиды этих докумнетов
#11 by elian_hunter
ООО! спасибо!
#12 by ptiz
Значит, что кто-то сильно умный в ЗУПе взял февральский документ и изменил ему период на август.
#13 by Mikhail Volkov
Можно, создать другой объект с нужным гуид, затем обработкой Поиск и замена дублирующихся элементов справочников объединить их. Вот только с предопределенными объектами это не проходит... Кто знает как это сделать средствами 1С? (менять в скуле рискованно)
#14 by elian_hunter
теоретически, возможно... но, если честно, не совсем понимаю, как это могло произойти...
#15 by andrewks
заходишь в документ, меняешь, записываешь
#16 by elian_hunter
да не... не в том дело... просто как бы какой смысл им так делать?...
#17 by hhhh
у нас пару раз в месяц такое происходит.     Бухи поняли, что гораздо быстрее вводить документ, если скопировать старый и в нем поменять всего несколько полей.     Теперь внимание: если бух случайно вместо кнопки "копировать" нажмет кнопку "открыть", (а это ему как два пальца об асфальт) получается твоя ситуация. Ответ он всегда на поверхности.
#18 by vmv
а че вы дали тьокам права на вольности с доками прошлого, отчаянные финские парни? При хорошей организации прав такие финты можно делать только в текущем дне, все что было вчера, а тем более в прошлом месяце - извините прочти кучу сообщений о запретах, последствиях, ответься 10 раз - "Да, я не дура и вполне адекватна, сохранить" и только потом позволить изменить что-то в "старом доке"
#19 by hhhh
эти доки не старые. Может даже сегодняшние.
#20 by hhhh
и в принципе, если например типовая 1С-ка у клиента, вы за свои деньги будете ему эти запреты вставлять?
#21 by acsent
поиск и замена дублей
#22 by Mikhail Volkov
А с предопределенными объектами как?
#23 by Sammo
Никак. Гуид предопределенного элемента прописан внутри конфигурации и его не изменить. Проводил эксперимент - в скуле менял гуид предопределенного элемента. В результате после очередного сохранения конфигурации был создан еще 1 предопределенный элемент с таким же гуидом.
#24 by Rie
Ключевое слово - "предопределённый"?
#25 by Mikhail Volkov
"В результате после очередного сохранения конфигурации был создан еще 1 предопределенный элемент с таким же гуидом" - шалишь? Я еще допускаю одинаковый гуид для разных типов объектов, но в пределах одного типа это невозможно - гуид это ключ! У меня при обмене баз, когда стоит синхронизация по гуид, такая хрень получается: Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(4795)}: Ошибка записи объекта            ТипОбъекта             =  Виды контактной информации            Объект                 =  Телефон физ.лица служебный            ОписаниеОшибки         =  Ошибка при вызове метода контекста (Записать): Ошибка при попытке вставки записи с неуникальным значением ссылки. Microsoft OLE DB Provider for SQL Server: Нарушено "PK___Referen__AC8ED0C40F7C1D9B" ограничения PRIMARY KEY. Не удается вставить повторяющийся ключ в объект "dbo._Reference49". Повторяющееся значение ключа: (0xb9493d07ec2909514bd24a29a071e1b7). "Гуид предопределенного элемента прописан внутри конфигурации" - если сам не пропишешь, типа: И то, это помогает для вновь создаваемой базы. Если предопределенный объект пришел с обновлением, то задать ему нужный гуид таким методом не получается. Может кто-то как-то исхитрился менять на нужный гуид?
#26 by Torquader
Я чего-то не очень понимаю, зачем менять GUID у объекта ? Ведь он используется для определения ссылок на сам объект. То есть замена GUID приведёт к созданию другого объекта, но с такими же данными внутри. То есть будет равносильно DELETE+CREATE. Или вы и все ссылки на ваш объект хотите поменять ?
#27 by sda553
Необходимости менять гуид нет никогда. Желание его поменять возникает у тех кто ищет простой способ все исправить и не искать истинных причин инцидента. Почти то же самое, в конфиге создается второй предопределенный элемент, с первого все ссылки в базе перешиватся все на второй, первый предопределнный элемент уничтожается в конфиге. Второй переименовывается в то же имя что было у первого
#28 by Torquader
Не - один раз возникала необходимость подмены GUID из-за того, что в двух разных базах нужно было сделать один и тот же объект, когда там было уже два объекта - пришлось просто делать замену GUID во всех ссылках.
#29 by sda553
ну так то да, но сшивание двух баз это все таки не то чтобы подмена гуидов, а наполнение одной базы объектами другой и потом замена ссылок по базе. А тут не замена одного объекта на другой, а именно смена гуида как цель
#30 by Torquader
Если в SQL, то как раз просто замена GUID-а, но так обычно не делают.
#31 by Mikhail Volkov
Будет время, попробую этот метод. Если это справочник Виды контактной информации (как в моем примере )большого риска нет это сделать SQL, а если это например, Управленческая организация, которая используется в документах большого периода... у кого есть опыт замены GUID-а прямо в SQL?
#32 by ptiz
Теоретически, ничего сложного: через метаданные получить таблицы, где могут быть ссылки на элемент, получить имена этих таблиц в SQL и сделать замену. На инфостарте есть пример.
#33 by Serg_1960
Сорри, а какой смысл работы в SQL "напрямую"? Скорость? Но это - нештатная ситуация и алгоритм - "одноразовый". Если замена GUID-ов используется в штатном режиме работы - это бред.
#34 by Mikhail Volkov
Для предопределенных объектов штатный режим не подходит. Если только предложенный , но тоже далеко не штатный.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

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