Причины реструктуризации. Практический пример

Программирование - Инструментарий

36
Получение и анализ подробной информации о причинах реструктуризации.

Коллеги, хотел бы с вами поделиться свежей историей из собственной практики. В один момент, при обновлении конфигурации получил реструктуризацию сразу нескольких регистров накопления с большим объемом данных + регистр бухгалтерии в нагрузку. При этом текущие работы не подразумевали столь масштабных изменений. 

Стал искать причину. Анализ через "Сравнение/объединение" ответов на вопрос "Что является причиной" не дал (изменена по чуть-чуть почти вся конфигурация). Из интернета, документации и бесед с коллегами следовало проверять:

  • изменение общих реквизитов;
  • изменение регистрации в планах обменов;
  • изменение в ролях;
  • изменения в регистраторах;

Быстро проблему обнаружить не смог, а смотреть подробно каждое изменение в хранилище не радовало.

Решение оказалось простым: технологический журнал. В техжурнал пишется подробно, по какой причине платформа решила выполнить реструктуризацию, в т.ч. и для регистров накопления и сведений. Описывать настройку техжурнала не буду – это тема простая и давно разобрана, но приведу на всякий случай содержание моего logcfg.xml:

<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
    <system level="trace"/>
    <log history="48" location="D:\Database\Log">
        <event>
            <eq property="EventType" value="Workflow"/>
        </event>
        <event>
            <eq property="EventType" value="Analysis"/>
        </event>
        <event>
            <eq property="EventType" value="Restructuring"/>
        </event>
        <property name="RestructMode"/>
        <property name="Description"/>
        <property name="Duration"/>
    </log>
    <dump create="false"/>
</config>

И в заключении приведу часть самого техжурнала:
31:55.157190-0,SYSTEM,3,Description=Starting restructuring of accumulation register for РегистрНакопления.ЗапасыНаСкладах
31:55.157191-0,SYSTEM,3,Description=Starting analysis of changes for РегистрНакопления.ЗапасыНаСкладах
31:55.157192-0,SYSTEM,3,Description=Analyzing РегистрНакопления.ЗапасыНаСкладах. Hash column usage not changed. Does not require restructuring,RestructMode=None
31:55.157193-0,SYSTEM,3,Description=Analyzing РегистрНакопления.ЗапасыНаСкладах. Register type was balance and it remains balance
31:55.157194-0,SYSTEM,3,Description=Analyzing РегистрНакопления.ЗапасыНаСкладах. Data lock control mode not changed. Does not require restructuring,RestructMode=None
31:55.157195-0,SYSTEM,3,Description=Analyzing РегистрНакопления.ЗапасыНаСкладах. Register type not changed. Does not require restructuring,RestructMode=None
31:55.157196-0,SYSTEM,3,Description=Analyzing РегистрНакопления.ЗапасыНаСкладах. Compatibility mode 8.3.2 not changed. Does not require restructuring,RestructMode=None
31:55.157197-0,SYSTEM,3,Description=Analyzing РегистрНакопления.ЗапасыНаСкладах. Totals splitting not changed. Does not require restructuring,RestructMode=None
31:55.157198-0,SYSTEM,3,Description=Analyzing РегистрНакопления.ЗапасыНаСкладах. Recorders cardinality not changed. Does not require restructuring,RestructMode=None
31:55.157199-0,SYSTEM,3,Description=Analyzing РегистрНакопления.ЗапасыНаСкладах. Recorder deleted. Requires full restructuring,RestructMode=Full
31:55.157200-0,SYSTEM,3,Description=Analyzing РегистрНакопления.ЗапасыНаСкладах. РегистрНакопления.ЗапасыНаСкладах.Измерение.Организация. Dimension type not changed. Does not require restructuring,RestructMode=None
31:55.157201-0,SYSTEM,3,Description=Analyzing РегистрНакопления.ЗапасыНаСкладах. РегистрНакопления.ЗапасыНаСкладах.Измерение.Организация. Dimension order not changed. Does not require restructuring,RestructMode=None
31:55.157202-0,SYSTEM,3,Description=Analyzing РегистрНакопления.ЗапасыНаСкладах. РегистрНакопления.ЗапасыНаСкладах.Измерение.Организация. Dimension indexing not changed. Does not require restructuring,RestructMode=None
31:55.157203-0,SYSTEM,3,Description=Analyzing РегистрНакопления.ЗапасыНаСкладах. РегистрНакопления.ЗапасыНаСкладах.Измерение.Организация. Dimension usage in totals not changed. Does not require restructuring,RestructMode=None
31:55.157204-0,SYSTEM,3,Description=Analyzing РегистрНакопления.ЗапасыНаСкладах. РегистрНакопления.ЗапасыНаСкладах.Измерение.Номенклатура. Dimension type not changed. Does not require restructuring,RestructMode=None
31:55.157205-0,SYSTEM,3,Description=Analyzing РегистрНакопления.ЗапасыНаСкладах. РегистрНакопления.ЗапасыНаСкладах.Измерение.Номенклатура. Dimension order not changed. Does not require restructuring,RestructMode=None

и т.д.

ключевую запись (Recorder deleted. Requires full restructuring,RestructMode=Full) выделил жирным. Из чего следует, что в моем случае коллега случайно удалил регистрацию движений по регистру накопления ЗапасыНаСкладах для нескольких документов. Ошибку исправили.

Спасибо за внимание )))

36

См. также

Комментарии
Сортировка: Древо
1. SanyMaga 24 17.08.18 20:05 Сейчас в теме
Если у измерения свойство "ведущий" тогда получите реструктуризации тоже. А еще версионировние ))))
3. _KaA 91 20.08.18 09:58 Сейчас в теме
(1)
Для меня большим откровением стал тот момент, что изменение состава поля составного типа не отобразилось при сравнении/объединении... не логично как-то.
10. l1ike 23.08.18 12:55 Сейчас в теме
(3)
Ссылочные типы 1с хранятся в БД как два поля Тип и ГУИД, если в составной тип добавляется еще одна ссылка - то это не влечет реструктуризацию, если добавить, к примеру, строковый тип - будет реструктуризация.
2. user700035_6550355 14 20.08.18 08:36 Сейчас в теме
Как обычно виноваты кривые пальчики
4. mea4712 20.08.18 11:37 Сейчас в теме
а при сравнении (с бекапом) разве удаление регистрации из регистра не видно?!
7. _KaA 91 21.08.18 12:09 Сейчас в теме
(4) (6)

У меня правлено 70-80% конфигурации, коммитов около 100 -> я просто устану сравнивать )))
8. nvv1970 21.08.18 22:02 Сейчас в теме
(7) как вы до такого дотянули? 100??? 70% - это много лет разработки ))
5. kiruha 366 20.08.18 17:07 Сейчас в теме
А коллега не мог еще случайно удалить еще что нибудь ...
Как искать то будете ?
6. nvv1970 20.08.18 18:41 Сейчас в теме
Однако, автор молодец, что дальним маршрутом быстро добрался

Основной список обычно невелик:
- удаление регистратора из движений
- удаление значения перечисления
- удаление объектов
Но в если изменений много - глаза не помогут (
9. Serg O. 132 22.08.18 07:24 Сейчас в теме
Отчет сравнения в файл можно выгрузить табличный... Или текстовый...Там удобнее что-то искать... Не думал, что тех.журнал так можно использовать, ставлю +
jaroslav.h; +1 Ответить
Оставьте свое сообщение