|
Реструктуризация и составной ссылочный тип | ☑ | ||
---|---|---|---|---|
0
mwide
14.02.19
✎
16:11
|
Помогите разобраться, по какой причине выполняется реструктуризация в такой ситуации?
Есть регистр с измерением составного типа из типов "СправочникСсылка" и "ДокументСсылка". Добавляем в конфу новый справочник или удаляем существующий ---> при обновлении запускается реструктуризация этого регистра по причине "Attribute type CHANGED" Реквизит с любой ссылкой представляется в БД тремя полями: _TYPE - идентификатор типа (как для любого составного значения) _RTRef - идентификатор таблицы БД, на которую ссылаемся _RRRef - сама ссылка в таблице, на которую указывает _RTRef Вроде нечего менять в структуре, разве что найти записи со ссылка этого типа (при удалении справочника) и их как-то обработать. Что тогда делает реструктуризация? P.S. вопрос возник при спотыкании о регистр ВерсииОбъектов |
|||
1
TormozIT
гуру
14.02.19
✎
16:23
|
> Реквизит с любой ссылкой представляется в БД тремя полями
Не всегда. Если в соответствующей коллекции метаданных только один элемент, то поле в таблице БД будет простого типа, т.е. там будет только _RRRef . |
|||
2
Мыш
14.02.19
✎
16:28
|
(0) > из типов "СправочникСсылка" и "ДокументСсылка"
Вот поэтому и происходит реструктуризация при добавлении/удалении справочника или документа. Сказать достоверно, что оно там внутри делает, могут только разработчики платформы. |
|||
3
Сияющий в темноте
14.02.19
✎
16:30
|
при добавлении,не очень понятно,зачем
а при удалении,записи,то нужно удалить. |
|||
4
mwide
14.02.19
✎
16:32
|
(1) > Если в соответствующей коллекции метаданных только один элемент, то поле в таблице БД будет простого типа, т.е. там будет только _RRRef .
То есть можно предположить (ПРЕДПОЛОЖИТЬ), что смыслом реструктуризации может быть превращение трех полей в одно или, наоборот, одного в три? Пока других изменений не могу прикинуть. |
|||
5
mwide
14.02.19
✎
16:34
|
(3) при удалении обрабатываются все записи регистра. Даже если в нем нет ссылок на удаленный справочник. Даже если он пустой.
|
|||
6
ptiz
14.02.19
✎
16:39
|
(5) "Даже если в нем нет ссылок на удаленный справочник" - вот 1С и проверяет - нет ли ссылок.
|
|||
7
TormozIT
гуру
14.02.19
✎
16:42
|
(4) Анализ характера изменений при принятии решения о реструктуризации таблицы старым механизмом обновления конфигурации БД не делается. Поэтому при любом изменении на уровне метаданных, которое может изменить ее структуру, ее таблица БД помечается как "Нужно реструктуризировать". А дальше тупо создается новая таблица в БД и из старой все копируется в новую через универсальный код.
|
|||
8
TormozIT
гуру
14.02.19
✎
16:43
|
Но уже есть новый (оптимизированный, но сырой) механизм реструктуризации. Там уже делается такой анализ.
|
|||
9
Вафель
14.02.19
✎
16:45
|
анализ он делает, но иногда может и базу убить )))
|
|||
10
mwide
14.02.19
✎
16:49
|
(8) это всё объясняет. Спасибо )
|
|||
11
Сияющий в темноте
18.02.19
✎
14:23
|
(8) лучше без анализа при обновлении,чем с анализом,но потом еще куча анализов для восстановления.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |