0. YPermitin 5049 15.05.19 20:31 Сейчас в теме

Регистры накопления. Структура хранения в базе данных

Структура хранения регистров накопления в базе данных для платформы 1С:Предприятие 8.x. Первая часть в серии публикаций.

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. bug256 17.05.19 09:30 Сейчас в теме
Было бы здорово почитать продолжение про работу виртуальных таблиц.
Из продолжения очень хочется "Внутреннее устройство регистров бухгалтерии и регистров расчета."
texnic79; miha0713; Kinestetik; ellavs; YPermitin; +5 Ответить
3. YPermitin 5049 17.05.19 09:34 Сейчас в теме
(1) спасибо!

Отлично, принято! :)
2. klimsrv 17.05.19 09:31 Сейчас в теме
отлично, спасибо за работу
wowik; YPermitin; +2 Ответить
4. Степной 6 17.05.19 11:20 Сейчас в теме
Поддерживаю интерес по теме, связанной с регистрами расчета.
miha0713; ellavs; YPermitin; +3 Ответить
11. YPermitin 5049 17.05.19 12:12 Сейчас в теме
14. ellavs 635 17.05.19 12:43 Сейчас в теме
(4) да, про регистры расчетов было бы интересно. А то нам нужно вкрячить в одну из конфигураций по учету студентов возможность работы со стипендиями. Скорее всего именно эти регистры должны подойти, ну или почитаю про них и пойму, что не подходят ))
Kinestetik; CSiER; YPermitin; +3 Ответить
5. Chai Nic 132 17.05.19 11:31 Сейчас в теме
"Причину, почему платформа сохраняет подобные записи, а не удаляет их, не была мной найдена. Интересно было бы узнать для чего платформа оставляет такие записи. Отмечу лишь, что после пересчета итогов записи с нулевыми значениями удаляются."

Причина - приоритет быстродействия над размером. В СУБД операция UPDATE выполняется намного легче, чем DELETE.
YPermitin; +1 Ответить
6. s22 19 17.05.19 11:33 Сейчас в теме
(5) В постгре update это insert+delete.
В мсскл в режиме блокировщика есть просто update
YPermitin; +1 Ответить
7. Chai Nic 132 17.05.19 11:39 Сейчас в теме
(6) Ну, изначально 1с не ориентировалась на версионники, поэтому логично что сделали так. И кстати, никто не смотрел, на постгресе 1с тоже оставляет зануленные записи, не удаляя их?
YPermitin; +1 Ответить
8. s22 19 17.05.19 11:42 Сейчас в теме
(7) не смотрел. Но инересно
YPermitin; +1 Ответить
10. YPermitin 5049 17.05.19 12:11 Сейчас в теме
(5) во времена написания статьи еще этого не знал, но современем тайна была раскрыта :)

В принципе да, все логично сделали.
9. Lucifer93 72 17.05.19 11:50 Сейчас в теме
Очень было бы интересно почитать тему: "Как платформа хранит клиентский кэш 1С, что там внутри и почему он может сломаться при динамическом обновлении". Если будет необходима какая-либо помощь - всегда готов к сотрудничеству. Так как тема очень актуальна и хотелось бы понять что происходит.
kuzyara; PZh1753; Aggressorak; CheBurator; АлександрЯрославичъ; Kinestetik; slax; гаврюша; Aleskey_K; testnv0; Jeka44; makc33333; YPermitin; +13 Ответить
15. YPermitin 5049 17.05.19 13:13 Сейчас в теме
(9) на самом деле там много интересного.

По возможности выложу некоторые экспериментальные утилиты на GitHub. Возможно еще до того как статью напишу.
16. Lucifer93 72 17.05.19 13:19 Сейчас в теме
(15)
было бы здорово! Очень хотелось бы посмотреть.
12. zhichkin 503 17.05.19 12:25 Сейчас в теме
Хочу поддержать тему про регистры бухгалтерии и расчёта + агрегаты.
YPermitin; +1 Ответить
13. zhichkin 503 17.05.19 12:27 Сейчас в теме
Интересно было бы ещё понять почему 1С не использует indexed views, которыми по сути являются таблицы итогов.
Было бы здорово сделать сравнительный тест таблицы итогов vs indexed views.
Честно говоря, глубоко не копал - интуитивно предполагаю, что index views будут быстрее.
Скорее всего не используются из-за особенностей реализации, в том числе в разных СУБД.
Думаю доберусь до этого вопроса, когда появится немного свободного времени =)
YPermitin; +1 Ответить
27. PZh1753 3 06.09.19 13:52 Сейчас в теме
(13) 20+ лет ляпали итоговые таблички руками и тут просто так взять и отдать эту работу БД?
Им просто тяжело, эмоционально...
17. vadim1011985 70 17.05.19 13:39 Сейчас в теме
На ИТС есть краткая информация по таблицам регистров накопления

_AccumRg<n> – таблица движений регистра накопления.

_AccumRgT<n> – таблица итогов регистра накопления. Эта таблица создается в случае, если регистр накопления поддерживает остатки.

_AccumRgTn<n> – таблица оборотов регистра накопления. Эта таблица создается, если регистр поддерживает обороты.

_AccumRgOpt – таблица настроек хранения итогов регистров накопления. Эта таблица создается одна на все регистры накопления.

_AccumRgAgg<n> – таблица агрегатов регистра накопления.

_AccumRgAggOpt – таблица опций сети агрегатов.

_AccumRgSt<n> – таблица статистики регистра накопления.

_AccumRgBf<n> – таблица буфера новых оборотов регистра накопления.

_AccumRgDl<n> – таблица новых оборотов регистра накопления.

_AccumRgAggDims – таблица кодов измерений регистра накопления.

_AccumRgAggGrid – таблица сети агрегатов.

_AccumRgChngR<n> – таблица регистрации изменений регистра накопления. Создается, если регистр накопления участвует хотя бы в одном плане обмена.
18. fishca 1154 17.05.19 15:56 Сейчас в теме
Давным давно мной был создан блог DevelPlatform,

Дежавю не покидало все время в процессе чтения :D

Спасибо за возрождение на данном ресурсе!
YPermitin; +1 Ответить
19. YPermitin 5049 17.05.19 15:57 Сейчас в теме
(18) надеюсь в других новых статьях дежавю не было :)
20. AlexeyDmuhin 17.05.19 23:56 Сейчас в теме
21. Алексей Воробьев 17 19.05.19 15:12 Сейчас в теме
Спасибо за материал! Отлично, лаконично и доступно!
В таком стиле интересно все, что захотите рассказать про особенности платформы.

Про "Почему отказываться от режима совместимости очень важно" будет интересно почитать, но интерес в большинстве случаев будет скорее академический, нежели практический, поскольку если конфигурация достаточно старая, то проще будет писать (или внедрять) что-то более свежее, нежели тратить время и силы на адаптацию старой конфы...
YPermitin; +1 Ответить
22. e][tend 20.05.19 02:20 Сейчас в теме
Юрий, еще задолго до того как ваш сайт почил, у меня в закладках браузера был и ваш блог. Хотя почему был, и сейчас есть))
Мне будет интересно в принципе любая тема из обозначенных, но сильно лютую за индексы, агрегаты, хинты, скрипты, extended events, советы в общем за все, что касается темы оптимизации и быстродействия.
Спасибо!
YPermitin; +1 Ответить
23. гаврюша 2 20.05.19 10:48 Сейчас в теме
Интересно и актуально. Так же присоединяюсь к актульности тем про регистры бухгалтерии, расчета и почему слетает клиентский кэш.
24. bug256 24.05.19 11:23 Сейчас в теме
На какой платформе экспериментировали?
Платформа 8.3.13.1690
Таблица _AccumRgOpt одна для всех регистров.
На 8.3.14 по каждому регистру отдельно?
25. miha0713 26.08.19 21:57 Сейчас в теме
Спасибо огромное за цикл отличных статей!
https://infostart.ru/upload/iblock/871/8718a5c6f480372c5ea4c927a04287d2.PNG
Получается AccumRg[n] - это физическая таблица, а AccumRgТn[n] AccumRgТ[n] - виртуальные?
26. Sapiens_bru 06.09.19 09:02 Сейчас в теме
(25) Это всё физические таблицы. Просто из 1С нельзя построить запрос к таблицам AccumRgТn[n] AccumRgТ[n] напрямую. Но можно сделать запрос к виртуальной таблице, которая, возможно!! сделает запрос к дополнительным таблицам регистра. Будут ли использованы дополнительные таблицы определяется параметрами запроса и состоянием самих таблиц.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 100 000 руб.
Полный день

Программист 1С
Нижний Новгород
зарплата от 80 000 руб. до 130 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата до 160 000 руб.
Полный день