|
Изменить идентификатор объекта | ☑ | ||
---|---|---|---|---|
0
elian_hunter
31.08.12
✎
16:59
|
А можно каким-то образом изменить идентификатор объекта? Конкретно мне надо - документа! Вообще где он? как его прочитать? и поменять... ))
|
|||
1
vmv
31.08.12
✎
17:00
|
нет
|
|||
2
H A D G E H O G s
31.08.12
✎
17:01
|
Можно.
|
|||
3
H A D G E H O G s
31.08.12
✎
17:01
|
Но не нужно
|
|||
4
andrewks
31.08.12
✎
17:02
|
(1)(2)(3) +1 :)
|
|||
5
ptiz
31.08.12
✎
17:03
|
(0) Идентификатор = Объект
Замена идентификатора = Поиск и замена значений |
|||
6
elian_hunter
31.08.12
✎
17:15
|
нет... идентификатор не равно объект... мне нужно прочитать гуид объекта... неужели нет способа??
|
|||
7
ptiz
31.08.12
✎
17:17
|
(6) Опиши задачу целиком.
|
|||
8
vmv
31.08.12
✎
17:18
|
гуид - загугли тут или в любой типовой
|
|||
9
Heckfy
31.08.12
✎
17:20
|
ДокументСсылка.<Имя документа>.УникальныйИдентификатор (DocumentRef.<Имя документа>.UUID)
ДокументСсылка.<Имя документа> (DocumentRef.<Имя документа>) УникальныйИдентификатор (UUID) Синтаксис: УникальныйИдентификатор() Возвращаемое значение: Тип: УникальныйИдентификатор. Описание: Получает уникальный идентификатор ссылки. Ссылка может быть получена из уникального идентификатора с помощью метода менеджера ПолучитьСсылку. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. См. также: ДокументМенеджер, метод ПолучитьСсылку |
|||
10
elian_hunter
31.08.12
✎
17:21
|
(7) при загрузке данных из ЗУП в БП, а именно документа "Отражение зарплаты в регл. учете" документ за август создается, а за февраль удаляется. я попробовал изменить гуид в хмл-е и сработало! видимо каким-то образом совпали гуиды документов за февраль и август (не пойму каким) хочу убедиться что я прав... для этого мне надо прочитать гуиды этих докумнетов
|
|||
11
elian_hunter
31.08.12
✎
17:21
|
(9) ООО! спасибо!
|
|||
12
ptiz
31.08.12
✎
17:32
|
(10) Значит, что кто-то сильно умный в ЗУПе взял февральский документ и изменил ему период на август.
|
|||
13
Mikhail Volkov
31.08.12
✎
17:38
|
(0) Можно, создать другой объект с нужным гуид, затем обработкой Поиск и замена дублирующихся элементов справочников объединить их.
Вот только с предопределенными объектами это не проходит... Кто знает как это сделать средствами 1С? (менять в скуле рискованно) |
|||
14
elian_hunter
31.08.12
✎
17:40
|
(12) теоретически, возможно... но, если честно, не совсем понимаю, как это могло произойти...
|
|||
15
andrewks
31.08.12
✎
17:42
|
(14) заходишь в документ, меняешь, записываешь
|
|||
16
elian_hunter
31.08.12
✎
17:45
|
(15) да не... не в том дело... просто как бы какой смысл им так делать?...
|
|||
17
hhhh
31.08.12
✎
17:55
|
(16) у нас пару раз в месяц такое происходит.
Бухи поняли, что гораздо быстрее вводить документ, если скопировать старый и в нем поменять всего несколько полей. Теперь внимание: если бух случайно вместо кнопки "копировать" нажмет кнопку "открыть", (а это ему как два пальца об асфальт) получается твоя ситуация. Ответ он всегда на поверхности. |
|||
18
vmv
31.08.12
✎
18:01
|
(17) а че вы дали тьокам права на вольности с доками прошлого, отчаянные финские парни? При хорошей организации прав такие финты можно делать только в текущем дне, все что было вчера, а тем более в прошлом месяце - извините прочти кучу сообщений о запретах, последствиях, ответься 10 раз - "Да, я не дура и вполне адекватна, сохранить" и только потом позволить изменить что-то в "старом доке"
|
|||
19
hhhh
31.08.12
✎
18:05
|
(18) эти доки не старые. Может даже сегодняшние.
|
|||
20
hhhh
31.08.12
✎
18:08
|
(18) и в принципе, если например типовая 1С-ка у клиента, вы за свои деньги будете ему эти запреты вставлять?
|
|||
21
acsent
31.08.12
✎
18:10
|
поиск и замена дублей
|
|||
22
Mikhail Volkov
31.08.12
✎
20:47
|
(21) А с предопределенными объектами как?
|
|||
23
Sammo
31.08.12
✎
20:56
|
(22) Никак. Гуид предопределенного элемента прописан внутри конфигурации и его не изменить. Проводил эксперимент - в скуле менял гуид предопределенного элемента. В результате после очередного сохранения конфигурации был создан еще 1 предопределенный элемент с таким же гуидом.
|
|||
24
Rie
31.08.12
✎
21:00
|
(23) Ключевое слово - "предопределённый"?
|
|||
25
Mikhail Volkov
31.08.12
✎
22:06
|
(23) "В результате после очередного сохранения конфигурации был создан еще 1 предопределенный элемент с таким же гуидом" - шалишь? Я еще допускаю одинаковый гуид для разных типов объектов, но в пределах одного типа это невозможно - гуид это ключ!
У меня при обмене баз, когда стоит синхронизация по гуид, такая хрень получается: Ошибка при загрузке данных: {Обработка.УниверсальныйОбменДаннымиXML.МодульОбъекта(4795)}: Ошибка записи объекта ТипОбъекта = Виды контактной информации Объект = Телефон физ.лица служебный ОписаниеОшибки = Ошибка при вызове метода контекста (Записать): Ошибка при попытке вставки записи с неуникальным значением ссылки. Microsoft OLE DB Provider for SQL Server: Нарушено "PK___Referen__AC8ED0C40F7C1D9B" ограничения PRIMARY KEY. Не удается вставить повторяющийся ключ в объект "dbo._Reference49". Повторяющееся значение ключа: (0xb9493d07ec2909514bd24a29a071e1b7). HRESULT=80040E2F, SQLSrvr: SQLSTATE=23000, state=1, Severity=E, native=2627, line=1 "Гуид предопределенного элемента прописан внутри конфигурации" - если сам не пропишешь, типа: Процедура ЗаполнитьПредопределенныхПартнеров() Экспорт // СправочникОбъект = Справочники.Партнеры.НашеПредприятие.ПолучитьОбъект(); // возмем из базы Кайрос. 10.01.2012 МВ. СправочникСсылка = Справочники.Партнеры.ПолучитьСсылку(Новый УникальныйИдентификатор("97403c2a-4260-481c-8835-1ea87e51a4aa")); СправочникОбъект = СправочникСсылка.ПолучитьОбъект(); Если СправочникОбъект = Неопределено Тогда СправочникОбъект = Справочники.Партнеры.НашеПредприятие.СоздатьЭлемент(); СправочникОбъект.УстановитьСсылкуНового(СправочникСсылка); КонецЕсли; СправочникОбъект.ДатаРегистрации = Дата(1980, 1, 1); Попытка СправочникОбъект.Записать(); Исключение Сообщить("Не удалось записать партнера НашеПредприятие" + Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание); КонецПопытки; И то, это помогает для вновь создаваемой базы. Если предопределенный объект пришел с обновлением, то задать ему нужный гуид таким методом не получается. Может кто-то как-то исхитрился менять на нужный гуид? |
|||
26
Torquader
01.09.12
✎
22:20
|
Я чего-то не очень понимаю, зачем менять GUID у объекта ?
Ведь он используется для определения ссылок на сам объект. То есть замена GUID приведёт к созданию другого объекта, но с такими же данными внутри. То есть будет равносильно DELETE+CREATE. Или вы и все ссылки на ваш объект хотите поменять ? |
|||
27
sda553
02.09.12
✎
00:01
|
(26) Необходимости менять гуид нет никогда. Желание его поменять возникает у тех кто ищет простой способ все исправить и не искать истинных причин инцидента.
(22) Почти то же самое, в конфиге создается второй предопределенный элемент, с первого все ссылки в базе перешиватся все на второй, первый предопределнный элемент уничтожается в конфиге. Второй переименовывается в то же имя что было у первого |
|||
28
Torquader
02.09.12
✎
00:31
|
(27) Не - один раз возникала необходимость подмены GUID из-за того, что в двух разных базах нужно было сделать один и тот же объект, когда там было уже два объекта - пришлось просто делать замену GUID во всех ссылках.
|
|||
29
sda553
02.09.12
✎
00:46
|
(28) ну так то да, но сшивание двух баз это все таки не то чтобы подмена гуидов, а наполнение одной базы объектами другой и потом замена ссылок по базе.
А тут не замена одного объекта на другой, а именно смена гуида как цель |
|||
30
Torquader
02.09.12
✎
00:58
|
(29) Если в SQL, то как раз просто замена GUID-а, но так обычно не делают.
|
|||
31
Mikhail Volkov
03.09.12
✎
09:04
|
(27) Будет время, попробую этот метод.
(30) Если это справочник Виды контактной информации (как в моем примере (25))большого риска нет это сделать SQL, а если это например, Управленческая организация, которая используется в документах большого периода... у кого есть опыт замены GUID-а прямо в SQL? |
|||
32
ptiz
03.09.12
✎
09:30
|
(31) Теоретически, ничего сложного: через метаданные получить таблицы, где могут быть ссылки на элемент, получить имена этих таблиц в SQL и сделать замену.
На инфостарте есть пример. |
|||
33
Serg_1960
03.09.12
✎
09:35
|
Сорри, а какой смысл работы в SQL "напрямую"? Скорость? Но это - нештатная ситуация и алгоритм - "одноразовый". Если замена GUID-ов используется в штатном режиме работы - это бред.
|
|||
34
Mikhail Volkov
03.09.12
✎
12:39
|
(33) Для предопределенных объектов штатный режим не подходит. Если только предложенный (27), но тоже далеко не штатный.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |