Имя: Пароль:
1C
1С v8
как обновить типовую базу с нетиповыми идентификаторами?
0 MaxS
 
14.08.14
18:57
Есть база УПП, нужно её обновить на много релизов, поставить на поддержку, загрузить конфигурацию поставщика.
Всё сводится к тому, что результат сравнения конфигурации с типовой требует огромной работы по ручному сопоставлению всех справочников, документов, их реквизитов и реквизитов табличных частей...

Видимо утеряны все типовые идентификаторы метаданных, остались только похожие названия.
Если обновить неглядя, то например справочник контрагентов удаляется и создаётся точно такой же новый, т.е. данные теряются.

Можно ли базу привести в порядок, подменить все идентификаторы объектов на правильные, чтобы обновление типовым способом через конфигурация - поддержка - обновить конфигурацию - выбор файла обновления - cf, прошло бы нормально.
Или через файл - загрузить конфигурацию, все объекты бы соответствовали бы друг другу...
1 shuhard
 
14.08.14
19:28
(0)[Видимо утеряны все типовые идентификаторы метаданных, остались только похожие названия. ]
тогда осталось одно - написать правила обмена и перенести остатки в типовую, возможно сработает типовая выгрузитьзагрузитьвидентичную
2 MaxS
 
14.08.14
19:39
(1) это пока не подходит.
В tool cd это можно провернуть?
3 hhhh
 
14.08.14
20:01
выгрузитьзагрузитьвидентичную работает тоже по идентификаторам
4 Aprobator
 
14.08.14
20:03
сдается мне, что у кого то релиз конфы не соответствует конфигурации поставщика, только и всего. Иначе, хз как объяснить тот факт, что утеряны типовые идентификаторы.
5 МихаилМ
 
14.08.14
20:06
распарсите config

сделайте сопоставление по типу - наименованию - принадлежности

медоданное и его  гуид . совпавшим сделайте замену. + проверка , + проверка, что гуиды уникальны.


превратить конфигурацию в текстовое представление можно с помощью v8unpack
6 RomanYS
 
14.08.14
20:18
(3)ничего подобного, откройте результат любой выгрузки xml, никаких ИД для метаданных там не будет
7 hhhh
 
14.08.14
20:35
(4) ну например удалили справочник контрагентов. А потом поняли ошибку и вручную добавили.
8 hhhh
 
14.08.14
20:37
(6) скажете еще, что выгрузка загрузка xml по наименованию "контрагенты" шпарит.
9 MaxS
 
15.08.14
03:40
(4) да, сильно не соответствует.
конфигурация поставщика 1.3.20 примерно, конфигурация 1.3.51.
Такое ощущение, что её обновляли по принципу скопировать-вставить новый объект.

(5) Попробую...
Элементы справочников потом как найдут свою принадлежность измененной конфигурации?

(6) часть уид элемента справочника содержит информацию о метаданном справочника. Вроде бы так.

Какой-нибудь скрипт снегопата это умеет хотя бы теоретически? снегопат у меня есть. Например, в окне сравнения конфигураций вручную сопоставить всё по наименованию.
10 МихаилМ
 
15.08.14
09:12
(9)
верно . забыл. гуиды метаданнх нужно будет обновить в записи
dbnames таблицы params.в params->dbnames хранится сопоставление гуид метаданноного - номер поля таблицы
11 MaxS
 
15.08.14
09:38
Добавлю ещё немного информации от 1С:
http://v8.1c.ru/overview/Term_000000606.htm
Если любую конфигурацию (8.2 в том числе) открыть платформой 1С 8.3.5, то можно сделать
Конфигурация - Выгрузить конфигурацию в файлы...
Что-то поправить и потом:
Конфигурация - Загрузить конфигурацию из файлов...

Там обсуждалось.
v8: сравнение+внутренние идентификаторы
Но что менять в Configuration.ParentConfigurations и там, ли, пока не знаю. ))
12 RomanYS
 
15.08.14
10:10
(8)
<CatalogObject.Справочник1>
            <Ref>ca7d72d5-bcc5-11e2-9f34-685d43ab89e2</Ref>
            <IsFolder>true</IsFolder>
            <DeletionMark>false</DeletionMark>
            <Parent>00000000-0000-0000-0000-000000000000</Parent>
            <Code>101</Code>
            <Description>вава</Description>
        </CatalogObject.Справочник1>

где "Справочник1" выступает в роли "Контрагенты"

(9) "часть уид элемента справочника содержит информацию о метаданном справочника. Вроде бы так"
Наверное не совсем так. По крайней мере это не помешало мне скопировать справочник, переименовать его и загрузить файл, выгруженный из старого справочника, в новый справочник1.
13 МихаилМ
 
15.08.14
10:43
(12)
"часть уид элемента справочника содержит информацию о метаданном справочника. Вроде бы так"

не так.
14 User_Agronom
 
15.08.14
10:55
Можно правила написать, чтобы по именам соответствие было, а не по идентификаторам.
15 MaxS
 
15.08.14
12:19
(13) ну значит память меня подвела. ;) значит где-то в другой области первая часть уид не просто так назначается, а по какому-то правилу...
(12) не вникал, но почему-то не переносится справочник организаций через ВыгрузкаЗагрузкаДанныхXML82.epf если релизы конфигураций немного отличаются, а справочник организаций идентичен. Ну это уже другая тема. ))