Имя: Пароль:
1C
1С v8
Резко увеличился размер итогового регистра бухгалтерии Хозрасчетный
🠗 (Волшебник 13.12.2024 11:08)
,
0 kav434
 
naïve
09.12.24
14:33
Добрый день.
Рабочая база 1С:Бухгалтерия КОРП начала  быстро разрастаться, растет регистр бухгалтерии Хозрасчетный, конкретно таблица «ИтогиПоСчетамССубконто3».
За одну ночь размер базы вырос на 20%, оказалось все дело в одном регистре. По журналу регистрации, один из бухгалтеров запустил групповое перепроведение документов за последний месяц. Думал, проблема этой ночи, взял вчерашнюю копию, проверил на ней - тоже растет, взял недельной давности - аналогично.

Потом провел эксперимент на копии базы от октября, пробовал на двух версиях платформы: 8.2.24. 1586 и 8.3.25.1394. И на двух версиях конфигурации 3.0.160. 22 и 3.0.164.16 Результат одинаковый, картинки не вставились.
1.    Копия Базы данных в архиве SQL, размер 43 ГБ
2.    Отчет по верхним таблицам в SQL Server Management Studio 20, внимание на таблицу _AccRgAT330931: количество 2 113 561 запись, размер 1 046 936 Кб
3.    После пересчета итогов в режиме конфигуратора, время пересчета минут 5, количество записей изменилось только в этой таблице, но незначительно, количество 2 069 611 запись, размер 1 075 096 Кб, размер базы на диске практически не изменился:
4.    После пересчета итогов в режиме Предприятия, заняло более 30 минут, (либо после группового перепроведения документов, собственно после чего я и обнаружил)
резко вырастает количество записей в регистре и размер базы. Количество 9 557 602 запись, размер 5 252 064 Кб, размер базы на диске вырос на 5 ГБ:

После этого увеличения размер базы уже не уменьшается, ни после пересчета в Конфигураторе, ни после выгрузки-загрузки БД в *dt, ни даже после полного убивания записей в SQL (через truncate) и последующего пересчета итогов в Конфигураторе
5.    На 08.12.2024 размер этого регистра уже 7 Гб при общем размере базы данных 52 Гб и количество записей 15 миллионов, кроме того заметно вырос и регистр «ИтогиПоСчетамССубконто2», в нем стало около 2М записей.

6.    Естественно, это влияет и на время обслуживания БД и на размер архивов.
9.    Сначала предполагал, что это сбой итогов, потом, что это произошло после обновления конфигурации с версии 160 на версию 164, или версии платформы с 24 на 25, но на копии БД и на старой платформе то же самое. Ранее долгое время была платформа 8.3.22, на ней пока не проверял. Еще были мысли, что кто-то из бухгалтеров внес изменения в план счетов, но по журналу регистрации последние изменения были в марте этого года.
Вопросы: Почему растет этот регистр и что можно сделать? Почему такие разные результаты при разных методах пересчета итогов?
1 Волшебник
 
09.12.24
14:34
Забацайте свёртку базы.
2 Волшебник
 
09.12.24
14:35
Уменьшайте не эти 7 Гб, а остальные (52-7)=45 Гб.
3 kav434
 
naïve
09.12.24
14:46
(1) Пока терпимо с размером, меня пугает прогресс и непонятно почему разница при разных методах расчета итогов
4 kav434
 
naïve
09.12.24
14:47
(2) Не понял, можно подробнее
5 Hmster
 
09.12.24
14:49
Что вы все так за размером гоняетесь?
52ГБ даже не смешно. Тем более разово. Вот если начнет расти каждый месяц по 20% то будет проблема.
Ну или совет из (1) в помощь
6 Волшебник
 
09.12.24
14:51
(4) Найдите бинарные данные в базе и вынесите их в файлы (тома на диске) или в отдельную базу.
7 Hmster
 
09.12.24
14:52
(4) была такая обработка БазоПузоМер - вот ей посмотрите, что ест место
8 vs7719
 
09.12.24
15:17
Ещё может быть причиной операции с пустой датой или, наоборот, с очень будущей.
9 Maestro2020
 
09.12.24
15:37
(0) Сделайте "окно" итогов, например, с 01.01.23. В бухгалтерии очень редко требуется формирование отчетов за прошлые года.
10 Dmitrii
 
гуру
09.12.24
15:41
(8) >>  может быть причиной операции с пустой датой или, наоборот, с очень будущей.

+1. Очень похоже.
Ну бывают описки. 2204 или 2004 вместо 2024.
Еси это так, то остальные таблицы итогов (по счетам и по счетам и одному субконто) тоже выросли, просто слишком незначительно.

(0) Проверьте регистр на наличие записей с датами раньше 2000-го года ли позже декабря нынешнего года. прям запросом
ВЫБРАТЬ Период, Регистратор 
ИЗ РегистрБухгалтерии.Хозрасчетный 
ГДЕ Период < ДАТАВРЕМЯ(2000,1,1) ИЛИ Период > ДАТАВРЕМЯ(2025,1,1)
11 maxab72
 
09.12.24
15:56
(0) "один из бухгалтеров запустил групповое перепроведение документов за последний месяц." такое впечатление, что регистр из-за каких-то ошибок перестал закрываться в ноль, и начали нарастать итоги по всем измерениям. ТиИ делали? Если не поможет, смотреть что творится в регистре руками...
12 kav434
 
naïve
09.12.24
16:03
(5) С размером согласен, хочу понять, из-за чего происходит
13 kav434
 
naïve
09.12.24
16:03
(7) Что ест место, я нашел.
14 kav434
 
naïve
09.12.24
16:04
(8) Думаю об этом, поищу
15 kav434
 
naïve
09.12.24
16:13
(9) Тоже вариант. Как лучше это сделать? Пересчитываю итоги полностью, потом в режиме предприятия устанавливаю "Период итогов для регистров бухгалтерии"? Или как-то иначе?
16 kav434
 
naïve
09.12.24
16:13
(10) Проверю, отпишусь
17 kav434
 
naïve
09.12.24
16:14
(11) ТИИ без проблем
18 kav434
 
naïve
09.12.24
16:20
(6) Бинарные файлы вынесены
19 Злопчинский
 
09.12.24
16:22
ОСВ с разворотом по всем субконто еще не предлагали построить и посмотреть что там возможно не закрывается?
20 kav434
 
naïve
09.12.24
17:14
(10) Не оказалось. Все в порядке с датами.
21 kav434
 
naïve
09.12.24
17:21
(19) Нужен какой-то критерий "не закрывается", например соберу я 10 счет по номенклатуре,  а там тысячи позиций, глаз замылится смотреть, да и что именно смотреть и за какой период?
22 Dmitrii
 
гуру
09.12.24
18:10
(21) >> например соберу я 10 счет по номенклатуре

Сравнивай три таблицы остатков - по Субконто1, по Субконто1 и Субконто2, и по Субконто1 и Субконто2 и Субконто3.
Если по 10-му счету регистр не закрывается, то остатки различным разрезам не будут сходиться.

Что-то типа такого (в параметры всех таблиц остатков только воткнуть отбор по счёту(ам) и по периоду (если надо)):
Подробности

ВЫБРАТЬ
ВложенныйЗапрос.Номенклатура КАК Номенклатура,
СУММА(ВложенныйЗапрос.КоличествоОстатокПоСубконто1) КАК КоличествоОстатокПоСубконто1,
СУММА(ВложенныйЗапрос.СуммаОстатокПоСубконто1) КАК СуммаОстатокПоСубконто1,
СУММА(ВложенныйЗапрос.СуммаОстатокПоСубконто1ИСубконто2) КАК СуммаОстатокПоСубконто1ИСубконто2,
СУММА(ВложенныйЗапрос.КоличествоОстатокПоСубконто1ИСубконто2) КАК КоличествоОстатокПоСубконто1ИСубконто2,
СУММА(ВложенныйЗапрос.СуммаОстатокПоСубконто1ИСубконто2ИСубконто3) КАК СуммаОстатокПоСубконто1ИСубконто2ИСубконто3,
СУММА(ВложенныйЗапрос.КоличествоОстатокПоСубконто1ИСубконто2ИСубконто3) КАК КоличествоОстатокПоСубконто1ИСубконто2ИСубконто3
ИЗ
(ВЫБРАТЬ
  ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
  ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстатокПоСубконто1,
  ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстатокПоСубконто1,
  0 КАК СуммаОстатокПоСубконто1ИСубконто2,
  0 КАК КоличествоОстатокПоСубконто1ИСубконто2,
  0 КАК СуммаОстатокПоСубконто1ИСубконто2ИСубконто3,
  0 КАК КоличествоОстатокПоСубконто1ИСубконто2ИСубконто3
ИЗ
  РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
  ВложенныйЗапрос.Субконто1,
  0,
  0,
  СУММА(ВложенныйЗапрос.СуммаОстаток),
  СУММА(ВложенныйЗапрос.КоличествоОстаток),
  0,
  0
ИЗ
  (ВЫБРАТЬ
   ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
   ХозрасчетныйОстатки.Субконто2 КАК Субконто2,
   ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток,
   ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток
  ИЗ
   РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки) КАК ВложенныйЗапрос
  СГРУППИРОВАТЬ ПО
   ВложенныйЗапрос.Субконто1
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
  ВложенныйЗапрос.Субконто1,
  0,
  0,
  0,
  0,
  СУММА(ВложенныйЗапрос.СуммаОстаток),
  СУММА(ВложенныйЗапрос.КоличествоОстаток)
ИЗ
  (ВЫБРАТЬ
   ХозрасчетныйОстатки.Субконто1 КАК Субконто1,
   ХозрасчетныйОстатки.Субконто2 КАК Субконто2,
   ХозрасчетныйОстатки.Субконто3 КАК Субконто3,
   ХозрасчетныйОстатки.СуммаОстаток КАК СуммаОстаток,
   ХозрасчетныйОстатки.КоличествоОстаток КАК КоличествоОстаток
  ИЗ
   РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки) КАК ВложенныйЗапрос
  СГРУППИРОВАТЬ ПО
   ВложенныйЗапрос.Субконто1) КАК ВложенныйЗапрос
СГРУППИРОВАТЬ ПО
  ВложенныйЗапрос.Номенклатура
23 Волшебник
 
09.12.24
20:14
(22) Да он просто админ, которого вчера взяли по объявлению. Строит из себя программиста 1С.
Бинарные данные вынесены...
Ну что за бред...
24 Михаил Козлов
 
09.12.24
20:14
Не уверен, что относится к делу: как-то в ПВХ ВидыСубконтоХозрасчетные "закрался" примитивный тип. В результате на порядок выросли таблицы индексов.
25 Волшебник
 
09.12.24
20:17
(24)👍 Оригинально!
26 Гена
 
гуру
09.12.24
20:34
Я бы спросил автора, а что там в марте поменяли в плане счетов. Потому что поросёночек рос-рос… сначала потихоньку…
30 НоваяВолна
 
09.12.24
21:34
(12) Пересчет (групповое перепроведение) бухгалтерских документов временно раздувает регистр Хозрасчетный. То что кто-то из бухгалтеров, в преддверии Нового года, запускает по частям пересчет, это нормально, значит тебе дадут жить спокойно на праздники.
  А регистр можно свёрткой как в (1) почистить
31 kav434
 
naïve
10.12.24
08:27
(24) Уже проверил, нет.
32 kav434
 
naïve
10.12.24
08:28
(26) Согласен, уже после того как сюда выложил, перечитал и тоже об это м подумал. Посмотрю.
33 kav434
 
naïve
10.12.24
08:35
(30) А можно подробнее, я так полагал, что свертка это глобально. т.е, я сворачиваю на определенную дату всю базу, а разве можно свернуть один регистр? Это как-то связано с (9), там тоже предлагается сделать "окно итогов"?
34 Волшебник
 
10.12.24
09:08
(33) "всю базу" означает "все регистры""
35 Dmitrii
 
гуру
10.12.24
11:25
(33) Учитывая современную стоимость гигабайта дискового пространства, в 99% случаев свёртка - абсолютно бесполезная трата времени, ресурсов и нервов на последующую проверку качества свёртки, исправление ошибок свёртки, поиск данных, которые нужны, но оказались в свёрнутом периоде, и на прочий геморрой от свёртки.
Делать свёртку только лишь ради экономии места в современных условиях - какое-то безумие.
36 Dmitrii
 
гуру
10.12.24
11:26
(33) >> как-то связано с... сделать "окно итогов"?

Нет. Свёртка и окно итогов никак между собой не связаны.
37 Dmitrii
 
гуру
10.12.24
11:38
А Вы уверены, что не было изменений в учётной политике?
Например, бухгалтерия могла перейти на раздельный учёт по НДС. При этом резко возрастает количество движений по 19-му счёту и на нём появляется отдельное субконто - Способ учета НДС (если я не путаю).
А может включили количественный и суммовой учёт номенклатуры по складам. Появляются суммовые остатки по складам.
Уточните у бухгалтеров. Может всё таки менялось что-то в плане счетов. Где-то сняли галочку "только обороты" и в таком случае полезли незакрывающиеся остатки по какому-нибудь субконто типа статей затрат/доходов/расходов или ДДС, которые в принципе закрыться не могут.
38 kav434
 
naïve
10.12.24
11:59
(37) Да, я как раз смотрю изменения, которые были в марте, есть подозрение на один счет, верну к оригиналу, пересчитаю итоги, отпишусь.
39 Волшебник
 
10.12.24
12:45
(38) Сделайте бэкап
40 Злоп
 
10.12.24
15:08
(38) ждем результатов.
А вообще - трэш и угар. Трясти надо бухов в первую очередь. Если они не ориентируются по базе и не чувствуют суммы/цифры - ну что же, значит бухов у вас нет, одни реально тупые операторы.
41 kav434
 
naïve
11.12.24
17:22
Благодарю всех за участие и советы!
По результатам следующее: Причина не найдена, буду наблюдать за динамикой роста регистра итогов. Не исключаю, что это нормальное поведение и я зря беспокоюсь.
Для тех кто сталкивается с подобной проблемой можно описать возможные решения:
1. В ПВХ ВидыСубконтоХозрасчетные "закрался" примитивный тип (24)
2. Операции с пустой датой или, наоборот, с очень будущей (10)  (8)
3. Изменения в учётной политике (37)  (26)
4. В других источниках наткнулся на вариант неверно спроектированных регистров, тоже могут расти в таком случае.
5. Самое простое - ТИИ. Или сначала очистить таблицы через SQL и уже потом ТИИ.

В моем случае ничего из этого не сработало, изменения в учетной политике мартовские откатил на копии базы, пересчитал итоги - не помогло. Возможно поиграюсь с периодом итогов (11)
42 Гена
 
гуру
11.12.24
17:23
(41) Дубль два: ЧТО поменяли в марте в плане счетов?
43 Feanor
 
11.12.24
17:39
(41) как вариант, сделать запросы к таблице итогов и посмотреть, в каких разрезах прибавилось данных, можно сравнить с базой до разрастания, далее уже смотреть данные, которые явились причиной роста
44 DrShad
 
11.12.24
17:42
(43) он же сказал, что итоги по третьему субконто сильно выросли
45 TormozIT
 
гуру
12.12.24
00:06
Говорят в ИР есть "Управление итогами регистров" с анализом содержимого таблиц итогов и с генерацией и правкой запросов к СУБД.
46 kav434
 
naïve
12.12.24
10:02
(42) В марте на одном из счетов добавили субконто3 - номенклатура. В копии базы удалил это субконто - пересчитал итоги - ничего не поменялось. Возможно нужно сделать реструктуризацию, сегодня попробую.
47 Волшебник
 
12.12.24
10:06
(46) Какого хрена Вы удаляете субконто? Вы программист?
48 Гена
 
гуру
12.12.24
10:21
(46) На каком счёте добавили номенклатуру?
49 Eiffil123
 
12.12.24
10:29
(41) смотрите еще что может быть:

Возможно где-то в проводках в измерениях регистра заполняется пустая ссылка на валюту/подразделение, а где-то - значение Null. В этом случае итоги также будут развернуты на несколько строк.
50 Злоп
 
12.12.24
11:32
(46) что ж из вас Гена клещами вытягивает все...
Проблема сразу счёт озвучить ?
51 Волшебник
 
12.12.24
11:52
(50) Зачем вообще админу задавать такие вопросы?
(46) Можно пригласить специалиста 1С в эту ветку?
52 kav434
 
naïve
12.12.24
13:07
(47) Я не понимаю причин такого тона. Да, программист. Почему бы мне не удалить субконто, которое привязали бухгалтера к счету в плане счетов. Естественно, я не удаляю само субконто, я отвязал его от счета. Работаю в копии базы. Форум для того и создан чтобы задавать вопросы. Если я чего то не знаю, что знаете Вы. Поэтому и спрашиваю.
53 kav434
 
naïve
12.12.24
13:08
(48) 79.05
54 kav434
 
naïve
12.12.24
13:08
(49) Спасибо, посмотрю и этот вариант.
55 Волшебник
 
12.12.24
13:11
(52) Не трогайте план счетов. Верните как было.
56 kav434
 
naïve
12.12.24
13:16
(55) И что дальше?
57 Волшебник
 
12.12.24
13:17
(56) Потом пригласите программиста 1С в ветку.
А сами займитесь своим админским делом: добавьте места на дисках, обеспечьте бэкапы.
58 kav434
 
naïve
12.12.24
13:20
(57) Благодарю, если Вы не против, я послушаю и других решений.
59 DrShad
 
12.12.24
13:28
(58) я бы посоветовал на просторах интернета почитать о том как хранятся данные в регистре бухгалтерии, какие при этом создаются таблицы и т.п.

и тогда вам станет понятно, почему так вырос размер базы
60 DrShad
 
12.12.24
13:29
+(59) объяснять все это здесь человеку с таким уровнем знаний нецелесообразно
61 kav434
 
naïve
12.12.24
14:42
Всем спасибо.
62 Гена
 
гуру
12.12.24
15:12
(53) 79-й счёт для авизовок между обособленными подразделениями со своим балансом. В типовой БП нет субсчёта 79.05, да и не нужен он, т.е. достаточно имеющихся двух: по имуществу и по текущим операциям.
Городить новый субсчёт, да ещё с тремя субконто, да ещё третье - НЕоборотная номенклатура...
Зачем? Ведь при желании всегда можно вытащить переданную/полученную номенклатуру по обороту счёта 79 по корреспондирующему счёту и субконто в проводках.

Не удивительно, что хозрасчётный регистр по итогам по субконто вырос. Впрочем, это некритично, если места много.

Только смысл неясен. Какие ещё субконто внесли на 79.05
И по принципу, что тогда одной номенклатурой в авизо не обойтись при таком подходе - какие ещё субсчета добавили и какие субконто?
Можно прямо скрин с плана счетов по 79-ым?
63 kav434
 
naïve
12.12.24
16:28
(62) Да, в типовой нет. В нашей используется для авизовок.
https://radikal.host/i/otZaaO
64 Волшебник
 
12.12.24
16:30
(63) поставьте ему флаг "Оборотное"
65 DrShad
 
12.12.24
16:31
(63) первые два субконто оборотные
далее добавляют третье субконто остаточное

вопрос: почему вырос размер базы?

)))))
66 DrShad
 
12.12.24
16:33
и на 79.06 субконто Договоры я бы тоже сделал оборотным
67 Гена
 
гуру
12.12.24
16:55
(63) Жуть... добавили три новых субсчёта, да ещё добавили вторые субконто в три предопределённых субсчета.

Это... в начале года появилась новая ГБ? Старушенция, помнящая бумажные чеченские авизо? )

Что такое 79-й счёт? Это фактически как счёт 000, т.е. позволяет в системе Пачоли сделать запись только по дебету или только по кредиту.

Пример: Есть голова: ООО Ромашка и есть её Филиал.
Филиалу пришли деньги для головы и он пишет авизовку голове:
По вашему счёту 51 нам поступил лимон от покупателя и делает у себя проводку:
Дт 60 - Кт 79<голова>
в дополнение к приходу денег:
Дт 51 - Кт 60
У филиала таким образом никаких обязательств нет, как если бы в нарушение двойной записи:
Дт 60 - Кт пусто или 000
списали обязательство.

Голова получает авизо и проводит у себя симметрично:
Дт 79<филиал> - Кт 60
один к одному как если бы просто из воздуха возникло обязательство:
Дт 000 или пусто - Кт 60

В конце квартала 79-й закрывается строго в ноль и в голове, и в филиале, иначе балансы не пойдут.

Это один к одному как закрыли бы вспомогательный счёт 000.

Внимание вопрос: есть хоть один кекс на свете, который стал бы заводить субсчета и субконто на 000 ?
Нет.

Так на кой ляд вы там их настручили на 79-ом?
68 kav434
 
naïve
12.12.24
16:53
(64) ставил, пересчитывал итоги - не помогло
отключал субконто от счета - пересчитывал итоги - не помогло,
сегодня попробую реструктуризацию.
69 DrShad
 
12.12.24
16:55
(68) ты и не админ и не прог
скуль так просто место не отдает
70 DrShad
 
12.12.24
16:55
отдай базу взрослым
71 DrShad
 
12.12.24
16:59
(67) этот вопрос решает не айтишник
72 kav434
 
naïve
12.12.24
17:07
(69) Не хочется отвечать в таком же тоне. Каждый мерит по себе.
73 kav434
 
naïve
12.12.24
17:07
Всем давшим дельные советы - спасибо.
74 Волшебник
 
12.12.24
22:24
Прощаемся, чо...

Мы были полезны?
Мы создали челлендж?
75 Волшебник
 
12.12.24
22:35
3 дня — макс. срок жизни бота в одной ветке. В другие не заходит и не создаёт.
Мало.
76 Ageres
 
13.12.24
04:54
(68) Так после пересчета нужно сжатие таблиц делать.
77 Гена
 
гуру
13.12.24
09:23
(76) Алексей уже обиделся и сбежал.
Глянул фирму, где он работает. Турецкая, строительная. Фирма горит, т.к. у неё уже несколько лет как ОТРИЦАТЕЛЬНЫЕ чистые активы(sic!).
Действительно, давно работают в БП Корп, ведут в одной базе несколько филиалов и чуть ли не с самого начала добавляют на многих счетах новые субконто. Пять лет назад автор уже мучился с исправлением пустых значений субконто (Null, Неопределено) в проводках, возникающих при изменении настройки видов субконто на счетах: в каждом филиале была своя структура плана счетов.

За пять лет автор так и не изучил азы 1С. Может быть сейчас начнёт?
78 Волшебник
 
13.12.24
09:24
(77) Так его понабрали по объявлению. Говорили, что интеллект!
79 Гена
 
гуру
13.12.24
09:28
(78) Не начнёт. Слишком обидчивый. Впрочем как все, которые заканчивали многочисленные институты управления. Ему бы поруководить, а на нашем форуме его ни в грош не ставят...
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан