Имя: Пароль:
1C
1С v8
Как УИД объекта метаданных сделать таким же как типовой?
,
0 Пользователь123
 
06.11.13
15:23
Есть УПП 1.3.42.1. Еще давно конфигурация обновлялась не совсем корректно, а именно изменения в новых релизах переносились в конфигурацию копированием.

Что было:
Некоторые типовые объекты (общие модули, справочники и т.д.) не стояли на поддержке. Конфигурация поставщика была старая (меньше чем 1.3.42.1).

Что сделали:
Сохранили конфигурацию в файл. Обновили через поддержку на типовую 1.3.42.1. Сравнили-объединили с конфигурацией из файл.

Таким образом:
а) Конфигурация поставщика стала 1.3.42.1
б) Многие типовые объекты встали на поддержку

Проблема:
На поддержку то они встали, но если сравнить основную конфигурацию с типовой, то УИДы у них отличаются.

1) Надо ли сделать их одинаковыми, чтобы в дальнейшем нормально через поддержку обновлять можно было?
2) Как собственно это сделать?
1 kosts
 
06.11.13
15:26
(0) > 1) Надо ли сделать их одинаковыми, чтобы в дальнейшем нормально через поддержку обновлять можно было?
Думаю, желательно

Переименовать свой объект перед обновлением. При очередном обновлении загрузится типовой. Сделать перенос данных из старого объекта в новый объект.

С реквизитами просто. Если у ссылочных разные УИДы, то трудне, этож везде ссылки менять...
2 hhhh
 
06.11.13
15:29
если реквизиты и объекты копипастом переносить из типовой в свою, гуиды тоже переносятся. Непонятно, как вы копировали.
3 Пользователь123
 
06.11.13
15:33
(2) Копировал не я, а еще до меня. Если через сравнение/объединение, то да. Если копировать-вставить, то вряд ли.
Как бы там нибыло - это уже отдельный вопрос. Сейчас что есть, то есть и надо проблему решать.
4 Пользователь123
 
06.11.13
15:36
(1) Я примерно так и думал, но...
Если например общий модуль переименовать и потом обновить через поддержку на типовую 1.3.42.1, то говорит что не обнаружено обновлений. Если взять какой-нибудь другой релиз, то программа выдает в конце окно со сравнением конфигураций. Данный модуль находит соответствующий типовой и пишет что у него изменено имя. Галка напротив них по умолчанию не стоит. Если поставить, то имя становится типовым, а УИД все равно как был так и остался.
5 Пользователь123
 
06.11.13
15:37
(1) Может его переименовать и снять с поддержки, а потом уже накатывать через поддержку типовую?
6 GenV
 
06.11.13
15:41
(4) В настройке поддержки можно обновить с текущей конфигурацией на поддержке... Тогда добавиться типовой модуль.
7 Пользователь123
 
06.11.13
15:54
(6) Не понял. Я нажимаю Конфигурация - Поддержка - Обновить конфигурацию. Остальное написано в (4).
8 GenV
 
06.11.13
15:58
(7) Конфигурация - Поддержка - Настройка поддержки. Кнопка "Сравнить, объединить".
9 Пользователь123
 
06.11.13
16:06
(8) По сути я сравню/объединю с типовой 1.3.42.1? При этом у меня УИД новым не станет.

Сейчас проверю вариант (1) и (5), т.е. переименую, но еще и с поддержки сниму один модуль, а потом обновлю через поддержку.
10 GenV
 
06.11.13
16:12
(9) Нет, не станет. Но так можно его (да и другие реквизиты) добавить как новые с правильным УИД. А неправильные предварительно переименовать.
11 Пользователь123
 
06.11.13
16:15
(10) Т.е. идея такая что я переименовываю например общий модуль (не снимая его с поддержки). Затем делаю как в (8). У меня становится 2 объекта на поддержке, но с разными именами. Потом тот, что переименовывал снимаю с поддержки и удаляю?
12 Serg_1960
 
06.11.13
16:15
Имхо, то, что внутренние идентификаторы объектов конфигурации поставщика и основной не совпадают, не принципиально - в конечном счете соответствие всё равно по наименованию будет устанавливаться при сравнении, объединении.

PS: "На поддержку то они встали, но если сравнить основную конфигурацию с типовой, то УИДы у них отличаются" - интересное заявление. На основании чего?
13 Пользователь123
 
06.11.13
16:19
(12) Странный вопрос. Выбириаем сравнить с конфигурацией поставщика (либо с cf типовой в файле). Показывает один объект двумя строками: в основное есть в типовой нет, вторая строка - в основной нет - в типовой есть.
14 Serg_1960
 
06.11.13
16:22
(13) Версия платформы какая? Помню на старых версиях такой глюк не раз ловил и не конфигурация была в том виновата.
15 GenV
 
06.11.13
16:22
(11) Ну, с поддержки неправильный можешь и сразу снять это ни на что не повлияет. Потом да, удаляешь.
С реквизитами по другому. Сначала добавляешь новый, обновляешь базу. Обработкой переносишь данные, потом только удаляешь. Так кстати делает и 1С при удалении реквизитов.
16 Пользователь123
 
06.11.13
16:31
(15) Да, про реквизиты я в курсе что надо данные сначала перенести из одного реквизита в другой. Логика в целом понятна: т.е. переименовываем и потом через сравнение/объединение переносим из типовой.

А вот со ссылочными типами как лучше сделать? Например: есть типовой справочник, но с неверным УИДом. Есть ссылки на объект  метаданных. Я его переименую - ссылки останутся. Перенесу типовой с верным УИДом. Потом мне надо все ссылки в том числе и в конфигураторе заменить.
17 Serg_1960
 
06.11.13
16:34
Для случая, указанного в (13), когда соответствие по наименованию "глючило", мне вот так помогало: в настройке поддержки, при сравнении/объединении устанавливаю соответствие "вручную"; скидываю все галочки и оставляю их только у этих данных. При последующих обновлениях маловероятно словить "глюк" на этих же данных.
18 Пользователь123
 
06.11.13
16:35
И еще такой вопрос в целом:
Есть например общий модуль ОстаткиОтпусков. При сравнении показывает что ИУД отличается от того что в типовой. При обновлении через поддержку объект ищется по наименованию (но даже если по УИД, то сути не меняет). Итак, я его переименовываю __ОстаткиОтпусков___ и снимаю с поддержки. Обновляю через поддержку на типовую. Почему программа показывает что они в одной строке? Т.е. как программа определила что это один объект если у него и УИД и наименование отличается?
19 Пользователь123
 
06.11.13
16:37
(17) судя по (18) или я туплю или реально дело в платформе.

P.S.: Версия платформы ниже рекомендуемой для данной конфигурации.
20 Serg_1960
 
06.11.13
16:38
(19) Я угадал :) Это платформа :(
21 Serg_1960
 
06.11.13
16:40
Может всё-таки озвучишь платформу7 Я не буду смеятца :))
22 Пользователь123
 
06.11.13
16:40
(20) Ну погоди.) Щас я поставлю последнюю платформу и на файловой базе сравню с типовой. Потом отпишусь.

P.S.: На сервере прям щас не могу платформу обновить. Думаю тестирования сравнения на файловой достаточно будет?
23 Пользователь123
 
06.11.13
16:41
(21) 8.2.15
24 Serg_1960
 
06.11.13
16:48
(18) Принято считать что соответствие объектов идёт по наименованию, но это не совсем так. Если соответствие не срабатывает - используется попытка установить соответствие по "УИД".

(23) У меня после перехода на 16 ушли эти глюки. Но там другие начались, ещё хуже. У меня постгрю - пришлось на 18 перепрыгнуть.
25 Пользователь123
 
06.11.13
16:56
(24) Хотим поставить 8.2.19.68. Есть с ней проблемы?
26 Serg_1960
 
06.11.13
17:01
Не в курсе. Я на 8.2.18.104 сижу. Пока стабильно, без глюков.
27 Пользователь123
 
06.11.13
17:02
(24) Хрен... Поставил на свой комп 8.2.19.68. Открываю файловую базу, сравниваю с типовой. Та же фигня что в (0). Показывает один и тот же объект 2-мя строками.
28 Пользователь123
 
06.11.13
17:04
Как можно посмотреть УИД объекта метаданных? Например общего модуля?
29 hhhh
 
06.11.13
17:09
(27) ну там галка где-то в сравнении, соответствие по именам объектов
30 Serg_1960
 
06.11.13
17:15
(27) Убери рассогласование, как советовал в (17). Новая платформа "сама-собой" не убирает уже возникший "глюк" рассогласования - она их не порождает (в отличие от старой).

(28) Штатными методами никак. Есть только один "косвенный" метод "подсмотреть" - ПолучитьСтруктуруХраненияБазыДанных и SQL таблицы напрямую.

PS: конец рабочего дня, сорри, ухожу.
31 Пользователь123
 
06.11.13
17:16
(29) про галку то я в курсе. Если ее поставлю, то различий нет. Проблема в другом - чтобы при обновлении через поддержку изменения  в новых релизах нормально переносились в нашу конфу (в частности в типовые модули и т.д.) + небыло потери данных.
32 Пользователь123
 
06.11.13
17:18
(30) Спасибо. Про (17) сейчас почитаю. Сходу не совсем понял, но попробую разобраться.)
33 kosts
 
06.11.13
20:23
ЗЫ. С общими модулями вообще не должно быть проблем. Удаляй старый с неверным УИДом перед обновлением. С обновлением придет новый правильный, так я думаю.

Не знаю как в последних платформах, но кажется в 15-м переползти на правильные УИДы в реквизитах мне не удавалось никакими способами, кроме как с помощью обновления с помощью CFU. Вроде так...
34 МихаилМ
 
07.11.13
00:17
исправте в config
методанное и содержимое
и в params->dbnames
35 Пользователь123
 
07.11.13
09:46
(30) Не совсем понял. Если открыть настройку поддержки и выбрать Сравнить/Объединить, то открывается окно сравнения/объединения с типовой 1.3.42.1. При сравнении/объединении (также как и при обновлении через поддержку) соответствие определяется по именам и данные объекты показывает что они совпадают. Галки по умолчанию и так все сняты и в различиях эти объекты не фигурируют. Если снять фильтр - Показывать различия, то общие модули отражаются одной строкой и галки слева от них нет, т.к. они совпадают.

А вот просто при сравнении (без объединения) показывает что модули отличаются (2-мя строками). Т.е. о чем писал в (0).

Т.е. либо УИДы совпадают и косячит платформа (это объясняется тем, что даже при переименовнии модуля при сравнении/объединении программа все равно определяет что это один объект. Видимо по УИД), либо УИДы отличаются (тогда не понятно как программа определяет что это один объекта, и как это проверить средствами 1С не понятно).
36 Serg_1960
 
07.11.13
10:42
Отправь мне на почту CF от своей УПП 1.3.42.1. Не обещаю что всё сделаю, но попробую на своей платформе.
37 Пользователь123
 
07.11.13
11:19
(36) CF не могу отправить. Могу отправить скриншот сравнения, но по описанию я думаю для тех кто в теме понятна суть вопроса. Т.е. лично для вас суть моего вопроса я думаю ясна.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший