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

17.08.18

База данных - Технологический журнал

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

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

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

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

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

Решение оказалось простым: технологический журнал. В техжурнал пишется подробно, по какой причине платформа решила выполнить реструктуризацию, в т.ч. и для регистров накопления и сведений. Описывать настройку техжурнала не буду – это тема простая и давно разобрана, но приведу на всякий случай содержание моего 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) выделил жирным. Из чего следует, что в моем случае коллега случайно удалил регистрацию движений по регистру накопления ЗапасыНаСкладах для нескольких документов. Ошибку исправили.

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

причины реструктуризации поиск регистры накопления регистры сведений регистры бухгалтерии

См. также

Технологический журнал Мониторинг Системный администратор Программист Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

15.11.2023    1562    8    AlexSTAL    0    

8

Мониторинг Журнал регистрации Технологический журнал Системный администратор Программист Абонемент ($m)

Как легко и быстро с помощью специализированных решений собирать, парсить и передавать логи и метрики.

1 стартмани

13.11.2023    4713    9    AlexSTAL    0    

47

Администрирование СУБД Технологический журнал Системный администратор Бесплатно (free)

Для расследования проблем производительности недостаточно просто проанализировать технологический журнал. Нужен парсинг контекста событий, его сопоставление с информацией из Extended Events и логов, агрегация огромного количества информации.

21.09.2023    7248    Andreynikus    14    

83

Технологический журнал Системный администратор Программист Платформа 1С v8.3 Абонемент ($m)

Целью данного решения является организация хранения и анализа данных из технологического журнала 1С с использованием стека Elasticsearch + Logstash + Kibana.

5 стартмани

18.09.2023    5080    huxuxuya    6    

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

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

Основной список обычно невелик:
- удаление регистратора из движений
- удаление значения перечисления
- удаление объектов
Но в если изменений много - глаза не помогут (
11. ProgrammistC 60 18.12.19 16:53 Сейчас в теме
9. Serg O. 297 22.08.18 07:24 Сейчас в теме
Отчет сравнения в файл можно выгрузить табличный... Или текстовый...Там удобнее что-то искать... Не думал, что тех.журнал так можно использовать, ставлю +
YuriOvs; jaroslav.h; +2 Ответить
12. user612295_death4321 15.01.20 11:01 Сейчас в теме
Жаль, что похоже работает не на всех версиях платформы. На 8.3.9.2170 в режиме совместимости 8.2 - не работает :(
13. _KaA 110 21.01.20 09:15 Сейчас в теме
(12)

К сожалению нет времени проверять в других версиях, но и платформа, сказать откровенно, не нова...
14. kalyaka 1105 28.07.23 15:22 Сейчас в теме
Прекрасно работает на платформе 8.3.22.2106.
Чтобы быстро понять, где будет реструктуризация, можно поступить следующим образом: создать пустую базу, выполнить изменение, посмотреть технологический журнал.
В событиях Description нужно искать строку "type CHANGED", например вот такую
...Реквизит.Организация. Tabular section attribute type CHANGED. Requires full restructuring,RestructMode=Full
Далее, зная место возникновения реструктуризации, нужно проверить изменяемые типы и реквизиты.
15. kalyaka 1105 28.07.23 15:54 Сейчас в теме
Еще одно важно замечание: этот технологический журнал собирается на клиенте! Т.е. если у вас клиент-серверная база, то журнал нужно настраивать на клиенте. Файлы тех журнала будут складываться в подкаталоги вида 1cv8_NNNNN.

Если использовать команду "Обновить конфигурацию базы данных на сервере", то файлы будут в подкаталогах rphost_NNNNN на сервере 1С.
Оставьте свое сообщение