Нестандартное решение пересчета итогов

25.04.24

База данных - Администрирование СУБД

Статья для тех, кто столкнулся с необходимостью пересчета итогов для "больших таблиц" и нет возможности поставить на паузу ИБ для проведения работ.

Дано 

Информационная база (УПП) с заброшенными процедурами обслуживания (БД под управлением СУБД MS SQL). Путем анализа выявлены таблицы итогов с количеством записей, многократно превышающим количество, которое должно быть согласно аналитикам прикладной логики.

 

Причины

1С для оптимизации времени на запись итогов применяет так называемый разделитель. Это позволяет распараллелить процесс записи в конкурентных таблицах при большом количестве обращений.
 *Свойство использования разделителя итогов может включаться (Операции – Управление итогами-Вкладка «Установка режима разделения итогов», принятие изменений требует монопольного режима). Поле разделителя итогов «splitter» по умолчанию присутствует во всех таблицах итогов.

 

 

Таким образом, фактически в таблице может содержаться 1000 записей, соответствующих 100 уникальным ключам прикладных аналитик, разделенных «разделителем итогов» (от 0 до n). 

Как это влияет на производительность? Когда мы запрашиваем «остатки», 1С формирует запрос к таблице итогов и для выдачи сворачивает данные без учета «разделителей». Но при этом СУБД считывает 1000 записей, а выдает 100 (в примере разница не большая, но дает представление). Чем больше разделенных записей, тем выше нагрузка на СУБД.

В рамках штатной процедуры пересчета итогов в таблицах записи сворачиваются. В большинстве случаев проблем с этим не наблюдается. Но при установке новой границы итогов, итоги пересчитываются за конкретный период, а текущие итоги остаются в том состоянии в котором и были, разделенные «разделителями».

Приведем пример из жизни. На первом рисунке (ниже) представлена таблица, которая показывает реальное количество записей в БД. Можно обратить внимание на «текущие итоги», определенные периодом «5999-11-01» - их количество 156 218 467 записей. Сравнить можно с прочими периодами, где количество уникальных ключей прикладной аналитики в итогах составляет примерно 11 000 записей (±1 000), что в десятки тысяч раз меньше. 

В следующей табличке приведено количество записей, где «разделитель» отличен от нуля. Мы видим, что количество разделенных записей по периоду текущих итогов составляет примерно 50% (в конкретном случае, может и больше в зависимости от конкурентности). Также можно обратить внимание на последний период (4024-04-01), из общего количества записей 4 533 633, 3 015 292 записи разделенные и могут быть свернуты пересчетом итогов. 

 

 

Почему так получается? В приведенном примере рассматривается таблица итогов регистра накопления «Учет затрат (регламентированный учет)». Точку актуальности итогов сместили, система рассчитала итоги и зафиксировала. А затем бухгалтер решила перепровести пакетно реализации, требования накладные, отчеты производства за смену и прочее. Поэтому, рекомендуется сдвигать точку актуальности итогов после закрытия периода и завершения всех манипуляций с данными прошлых периодов. По отношению к записям текущих итогов, причина в том, что «период» (с прикладной точки зрения) еще не закрыт, также, как и затраты.

 

Решение

Как можно исправить ситуацию и «припудрить» состояние итогов? Если технологическое окно позволяет обеспечить монопольный режим, то можно воспользоваться функцией «тестирования и исправления», установив галочки «пересчета итогов». Но в моем случае, технологического окна нет. А указанная функция не позволяет конкретизировать, какие именно таблицы нужно пересчитать. С учетом этих обстоятельств, можно прибегнуть к методам, предусмотренным для регистров накопления. А именно: «ПересчитатьИтоги()». В частном порядке можно пересчитать итоги за конкретный период – «ПересчитатьИтогиЗаПериод(<НачалоПериода>, <КонецПериода>)». Для текущих итогов используется отдельный метод - ПересчитатьТекущиеИтоги(). Важно, использование этих методов проводить в периоды наименьшей загруженности ИБ. Так как при расчете итогов система блокирует таблицы.

Казалось бы, вот и все, решение найдено. И чего ради этого было писать такой талмуд. Но с учетом обстоятельств, проблемы другого характера. Производство работает 20 часов в сутки. Технологическое окно, с использованием монопольного режима допустимо только 2 часа в месяц (!), которое используется исключительно для принятия монопольных изменений. А периоды наименьшей загрузки составляют от 4-х до 6-и часов в сутки. И тут-то приходится выкручиваться «как только можно».

Дальше пойдет «треш», если, дочитав до этого места, у вас не сложилось понимание проблематики, то дальше можно не продолжать.

Итак, основным ограничительным фактором у нас является время, мы должны уложиться в отведенное технологическое окно. Самой длительной операцией в пересчете итогов является удаление существующих записей. По моим подсчетам на практике это занимает до 90% времени выполнения. В моем случае я применил следующий порядок действий:

  1. Обслужил основную таблицу регистра (реиндексация и актуализация статистики). Чтобы сократить время на выполнение запроса расчета итогов.

  2. Отключил использование текущих итогов – «УстановитьИспользованиеТекущихИтогов(Ложь)»

  3. Отключил использование итогов - «УстановитьИспользованиеИтогов(Ложь)»

  4. Установил максимальный период рассчитанных итогов на самый ранний период «УстановитьМаксимальныйПериодРассчитанныхИтогов(<Период>)»

  5. Далее в SQL очистил таблицу итогов выполнив следующую инструкцию – «TRUNCATE TABLE [sbox_upp_tam].[dbo].[_AccumRgT33795]». Где «sbox_upp_tam» - имя базы,  «_AccumRgT33795» - имя таблицы. На все про все, включая данный шаг, времени ушло 5 минут.

  6. Затем я включил обратно использование итогов - «УстановитьИспользованиеИтогов(Истина)»

  7. Запустил расчет итогов за все периоды, установив максимальный период расчитанных итогов на предпоследний месяц – «УстановитьМаксимальныйПериодРассчитанныхИтогов(<Период>)». Эта процедура длительная, поэтому я расслабился и ушел в режим ожидания. Но «печалька» меня настигла спустя некоторое время. Мало того что до конца оно не рассчиталось, так оно еще пошло в  «откат» (в SQL), заблокировав действия по всем базам на сервере. Тут у меня случился легкий «инфаркт ж..пки». Продлилось это состояние порядка 40 минут (имеется в виду «откат», «инфаркт ж..пки» закончился ранее :). И я понял, что так дело не пойдет и нужно менять стратегию. А именно, запускать пересчет по месяцам, постепенно сдвигая максимальный период рассчитанных итогов.

  8. Ну и конечно же в финале, установка использования текущих итогов «УстановитьИспользованиеТекущихИтогов(Истина)». Думал я, что после нужно будет запустить пересчет текущих итогов, но поведение системы меня приятно удивило и при включении использования текущих итогов, 1С услужливо их посчитала сама.

 

Заключение

Решение не самое изящное и не претендует на «решение из коробки». Но возможно кому-то пригодиться этот опыт для решения своих частных случаев. Решение имеет определенные риски в моменте. Но я постарался максимально учесть все возможные обстоятельства, включая возможные ошибки данных, которые возникают при включении и отключении итогов в "немонопольном режиме" (когда работают пользователи). В крайнем случае, если бы на каком-то этапе выполнение прервалось бы, то это повлияло только на производительность без ущерба прикладной логики. В итоге я сэкономил много времени, исчисляемого в сутках, и свел все к паре-тройке часов. 

P.S. Данная статья – мой дебют на InfoStart'e. Поэтому прошу сильно тапками не бросаться. Отвечу на уместные вопросы и конструктивную критику

итоги пересчет SQL

См. также

Куда же деваются файлы из 1С

Администрирование СУБД Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

При хранении файлов в томах на диске они иногда исчезают. Разбираемся, почему.

вчера в 16:30    358    human_new    2    

10

Установка и примеры использования 1С:Исполнитель на РедОС

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

Краткое описание шагов по установке, настройке и применению инструмента 1С:Исполнитель на операционной системе РедОС, а также по борьбе с некоторыми возникающими ошибками.

06.05.2024    536    artemusII    0    

1

Идентификация пользователя не выполнена

Администрирование СУБД Системный администратор Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Бесплатно (free)

Иногда в конфигурации 1С:Бухгалтерский учет v3.0 возникает ситуация, когда программа всем пользователям выдает предупреждение, что авторизация не выполнена и работа программы будет завершена. Данная инструкция позволяет решить возникшую проблему.

24.04.2024    649    Yan_Malyakov    0    

2

Устранение ошибки выполнения скрипта "Создать сервис RAGENT" в ЦКК

Администрирование СУБД Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В статье показано, как устранить ошибку выполнения скрипта "Создать сервис RAGENT" в системах 1С:Центр контроля качества или в 1С:Центр автоматизации. Будет полезна администраторам ЦКК и ЦА, которые только начали знакомство с этими системами.

18.04.2024    429    artemusII    0    

7

Долгая реструктуризация, замеры времени и очистка Ветис. Розница 2.3

HighLoad оптимизация Администрирование СУБД Системный администратор Платформа 1С v8.3 1С:Розница 2 Розничная и сетевая торговля (FMCG) Россия Бесплатно (free)

При подготовке к обновлению возникли проблемы на стадии тестирования и исправления базы данных, также при создании файлов РИБ для магазинов.

16.04.2024    473    xKaskadx    4    

2

Установка и получение лицензии на базовую конфигурацию 1С на Mac OS

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

Установить купленную базовую конфигурацию 1С и получить лицензию на MAC OS не так просто, как кажется на первый взгляд и как хотелось бы. Официально в системных требованиях на базовую конфигурации 1С пишет всякие виндовсы и пару-тройку линуксов. МакОс там нет. В статье расскажу, как все-таки поставить на Мак базовую конфигурацию 1С.

11.04.2024    489    pahmutov    0    

3

Установка тонкого клиента 1С на Rasbian (Raspberry Pi 5)

Администрирование СУБД Системный администратор Платформа 1С v8.3 Бесплатно (free)

После приобретения Raspberry Pi 5 решил проверить, есть ли возможность использования устройства для организации тонкого клиента. В результате столкнулся с особенностью установки 1С: Предприятие 8.3.23 на Raspbian, решением которой я хочу поделиться с сообществом.

07.04.2024    904    Bessome    4    

5

Порционный шринк базы

Администрирование СУБД Системный администратор Бесплатно (free)

Скрипт позволяет высвобождать место в операционную систему, занятое файлом базы MS SQL в итерациях с заданным количеством мегабайт

28.03.2024    1476    Garilia    4    

15
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Torin 758 25.04.24 18:06 Сейчас в теме
А разве 5 пункт можно делать?
2. siamagic 25.04.24 19:00 Сейчас в теме
(1) Настоящим программистам можно или вы бекап делаете через выгрузить td ? )))
10. SerVer1C 777 26.04.24 11:38 Сейчас в теме
(3) С большими базами иначе просто не получится нормально работать.

Да и вообще, насколько юридически справедливо запрещать прямой доступ к данным через скуль, если данные мои и лицензия на СУБД моя. Это, конечно, лирика, на хабре юристы более подробно этот момент разбирали.
11. Torin 758 26.04.24 11:51 Сейчас в теме
(10)См..
Вопрос справедливо во ли или нет.. проще задать вендору.

P/S но это не значить что я согласен/ не согласен с позицией вендора.
4. user1880116 25.04.24 21:41 Сейчас в теме
(2)
Настоящим программистам можно
А настоящие программисты могут рассказать как влияет отсутствие итогов на выполнение текущих запросов у пользователей?
7. siamagic 26.04.24 04:43 Сейчас в теме
(4)ути пути - студента сразу видно по глупым вопросам, которые он считает сакральными знаниями )
8. user1880116 26.04.24 07:19 Сейчас в теме
(7)
студента сразу видно
И что же наш многомудрый преподаватель планирует сделать в этой ситуации? Ответить на вопроc? Сбежать, задрав нос под хохот студентов?
13. CIO_Galvent 26.04.24 12:22 Сейчас в теме
(1)Есть такая компания как сфотпоинт, которая специализируется на решениях в связке СУБД и 1С, в частности репликация на уровне транзакций СУБД для организации РИБ. На практике еще в 2012 году принимал участие в таком проекте ("ИнтерРАО"). 1С пишет транзакциюв SQL, система определяет настройку адресации и реплицирует транзакцию в соответствующую базу на уровне SQL.Штатные средства не отвечают требованиям оперативности, а также мигрирую большие объемы данных (представьте себе билинг и количество платежей в электросетевой компании по всей России)
Если были бы какие-то сложности юридического характера, их бы давно прикрыли. Но компания существует до сих пор и продвигает свои решения.
14. Torin 758 26.04.24 12:35 Сейчас в теме
(13)
Если были бы какие-то сложности юридического характера, их бы давно прикрыли.
- возможно у них есть особое соглашение и особые условия ( это все ИМХО). я поэтому в (1) и задал вопрос :)
user1880116; +1 Ответить
16. user1880116 26.04.24 13:34 Сейчас в теме
(13)
Если были бы какие-то сложности юридического характера, их бы давно прикрыли. Но компания существует до сих пор и продвигает свои решения.
А как из того, что партнер 1С (добившийся своей лицензионной чистоты), продвигает свои решения, следует разрешение нарушать лицензионное соглашение всем остальным?
17. CIO_Galvent 26.04.24 14:35 Сейчас в теме
(16)
1. Прошу указать соответствующие положения лицензионного соглашения, которое ограничивает возможность редактирования данных непосредственно в СУБД.
2. Если у вас есть информация о прецедентах нарушения данных положений и судебная практика, также хотелось бы ознакомиться.
3. ИМХО, Если и есть такие положения, то они преследуют цель - снять ответственность с себя за возможное нарушение целостности механизмов платформы. Равно как и производители бытовой техники предостерегают в инструкциях по эксплуатации от нецелевого их использования (не разогревать в микроволновке металлические предметы, не забивать гвозди смартфоном и пр.).
А вообще если говорить о крупных компаниях, то у них совершенно другой уровень поддержки от вендора. Вплоть до того что выпускают релизы платформы с заточенными под конкретную задачу изменениями. Механизмы принятия решений, конечно же ориентируются на унификацию с прицелом в последующем эти изменения включить в общую ветку.
18. user1880116 26.04.24 15:51 Сейчас в теме
(17)
Прошу указать
Не сьежай с темы, пожалуйста. Ответь на вопрос - как ты из кейса "партнер 1С сделал решение" вывел "всем можно нарушать лицензию"

Собственно, лицензия: https://1c.ru/texts/kp_license.htm
4. Лицензиат обязуется не допускать нарушений исключительных прав Правообладателя на ПРОГРАММНЫЙ ПРОДУКТ, в частности, не совершать и не допускать совершения третьими лицами следующих действий без специального письменного разрешения Правообладателя:
...
вносить какие-либо изменения в код ПРОГРАММНОГО ПРОДУКТА, содержимое баз данных и других наборов данных, в которых система хранит информацию, за исключением тех изменений, которые вносятся штатными средствами, входящими в состав ПРОГРАММНОГО ПРОДУКТА и описанными в сопроводительной документации;


Без специального. Письменного. Разрешения. Правообладателя. Содержимое. Баз Данных. За исключением. Тех изменений, которые вносятся штатными средствами, входящими в состав ПРОГРАММНОГО ПРОДУКТА и описанными в сопроводительной документации".

Теперь понятно, почему Софтпоинту можно, а другим - нельзя?
Всё остальное у тебя так, мусор.
19. virustam 11 26.04.24 18:28 Сейчас в теме
(18) Данное решение можно применять на свой страх и риск. Тем более, я упоминал, что если можно обойтись штатными средствами, то так и стоит сделать. Речь о частных случаях, когда штатные средства, по разным причинам, применить не представляется возможным.
В условиях, когда база данных загибается. На ожиданиях компания теряет в день свыше 60-и часов в совокупности с учетом количества пользователей. Есть риск того, что система встанет колом. Или нужно остановить базу на несколько суток. Стоимость простоев выражается миллионами ₽.
Ваши предложения?
1. Послать заказчика/работодателя/ген.дира в "сад", ссылаясь на положение лицензии. Которое предполагает "мифическую" ответственность без какого либо выражения в деньгах. И ожидать, что тебя за это погладят по головке - "какой молодец, что блюдешь лицензионное соглашение, и хер бы с этими миллионными издержками..."
2. Написать по собственному желанию и молча свалить, наблюдая со стороны с попкорном...
3. Собрать свои "кукожики" в кулачек и сделать свою работу, не взирая на положения лицензионного соглашения, которые можно трактовать по разному.
Teplotrassamen; slauter77; bulpi; Arsa707; +4 Ответить
20. virustam 11 26.04.24 18:34 Сейчас в теме
(18) Я уже не говорю о тех случая, когда при очередном обновлении платформы можно столкнуться с ошибками, которые только и можно исправить внося изменения в БД через одно место.
Так то, наверное только я один не обращаюсь в 1С за разрешением на внесение изменений непосредственно в БД.
Teplotrassamen; bulpi; +2 Ответить
21. virustam 11 26.04.24 18:52 Сейчас в теме
(18) Ну и на последок. Будут ли считаться использованием штатных средств, если я напишу обработку на 1С, которая выполнит подключение к SQL и сделает все что нужно?
Обработка - штатное средство. Описание подключений и различного рода интеграций дано в справочниках.
В общем вопрос юридического обоснования возможности применения таких подходов крайне скользкий. Явной ответственности за это не предусмотрено. А в попытке доказать нарушение пп. положения ЛС, устанут пыль глотать.
Тем более с юридической стороны, суть положения: "Лицензиат обязуется не допускать нарушений исключительных прав Правообладателя на ПРОГРАММНЫЙ ПРОДУКТ, ". А подпункты являются поясняющими. И если они не связаны с нарушением исключительных прав, то и интереса со стороны вендора не вызовут.
22. CIO_Galvent 26.04.24 19:22 Сейчас в теме
(21) К примеру для понимания. В ИБ есть таблица, в которой хранятся сведения обо всех используемых лицензиях. Каждый раз когда клиент коннектиться к серверу, система собирает из данных клиента сведения об используемых лицензиях. В том числе и те лицензии "тестовые", которые могли появиться после патчей. Эта информация сохраниться даже после того как клиент с "тестовой" платформой перейдет на нормальную лицензию.
Как сама процедура замены библиотек платформы, так и попытка фальсификации данных в БД (путем очистки или модификации этих данных) может рассматриваться "1С" как нарушение исключительных прав.
23. user1880116 26.04.24 19:32 Сейчас в теме
(21)
Тем более с юридической стороны, суть положения: "Лицензиат обязуется не допускать нарушений исключительных прав Правообладателя на ПРОГРАММНЫЙ ПРОДУКТ, ". А подпункты являются поясняющими. И если они не связаны с нарушением исключительных прав, то и интереса со стороны вендора не вызовут.

А ты по левой или правой диагонали текст читаешь? Фрагмент
и не допускать совершения третьими лицами следующих действий без специального письменного разрешения Правообладателя:
ты элегантно так проигнорировал.

Всё ты понимаешь. Понимаешь, что нельзя и отчаянно ищешь какие-то оправдания, потому что "очень надо".
24. virustam 11 26.04.24 20:17 Сейчас в теме
(23)Вы хотите сказать, что лицензиат в лице ген. директора, должен на кажды «чих» запрашивать разрешение правообладателя? Начиная от процедур обслуживания и заканчивая внешними компонентами. А как быть с самописными конфигурациями? Чьи права нарушаются? Считать ли нарушением указанного пункта, когда я применил эти действия по отношению к созданному мною дополнительного регистра в системе?
Ваше мнение услышано, имеете право. Желаю успехов в вашем труде с таким подходом.
27. user1880116 26.04.24 21:37 Сейчас в теме
(24)
лицензиат в лице ген. директора, должен на кажды «чих»
Если твоему бизнесу Так Плохо Без Прямого Доступа, то какая из мировых религиий мешает ему для соблюдения юридической чистоты пойти и получить это письменное разрешение правообладателя? Нежелание этой самой юридической чистоты? Осознание того, что он нахрен никому не нужен? Столько вопросов...
29. Nikola23 698 15.05.24 15:21 Сейчас в теме
(24) формально
лицензиат
- на то и лицензиат, что должен требования лицензии соблюдать.
При этом - должность не играет роли.

Беззаконие начинается там, где разные умники под разным соусом допускают, что иногда "можно" не соблюдать.

Это коммент на ваш коммент.

А по-существу, сам ковыряюсь не редко на уровне СУБД. Но я не хвастаюсь об этом в разных статьях и никому свою правоту не доказываю

Предлагаю в баталии не вступать
30. virustam 11 15.05.24 19:28 Сейчас в теме
(29) Блюстители юридической чистоты, у вас есть юридическое образование, а может и опыт?
Никто толком не может растолковать эти несколько строк лицензионного соглашения. Ни привести примеров из практики судебного или досудебного урегулирования этих спорных моментов.
Такое впечатление складывается что опыт которым я поделился вам не нужен, и это не ресурс для обмена опытом с коллегами по цеху, а юридическая академия.
Были обстоятельства, не нашел решения. Выработал кейс (с учетом граблей), поделился опытом.
Что, …ть не так я сделал. Если вас интересовали юридические аспекты, могли бы вынести вопрос отдельной темой для обсуждения (сославшись на статью). Пригласить экспертов (в т.ч. от 1С). Так нет, сидят на диване в труселях и считая себя важными, «дельные» комментарии выписывают.
В обсуждении было всего пара-тройка вопросов по существу. Все остальное холивар от не…чего делать.
28. gybson 07.05.24 16:02 Сейчас в теме
(18) Остается поднять сопроводительную документацию. А то народ мейнтенанс делает средствами sql
5. grumagargler 724 25.04.24 22:30 Сейчас в теме
> А затем бухгалтер решила перепровести пакетно реализации, требования накладные, отчеты производства за смену и прочее

Если это делала только она одна, то почему так много получилось не уникальных записей в 4024-04-01?
12. CIO_Galvent 26.04.24 12:13 Сейчас в теме
(5) Первичка генерируется в больших объемах, исчисляемая в миллионах записей в месяц. Если система видит блокировку итогов другим сеансом, то автоматически устанавливает свободный разделитель и пишет записи рядом.
Зачем это делает бухгалтер? Вопрос риторический. Не все проводки сформировались, замена аналитики в документах, перепроведение просто, чтобы убедиться что все проведено и прочее...(как говориться, у кого на что фантазии хватает). Есть регламент отчетности по кварталам. Такое как раз наблюдается в последнем месяце квартала, когда "крыжат" данные и подбивают затраты.
6. siamagic 26.04.24 04:41 Сейчас в теме
(3) Ссылку вы дали на вопросы и ответы = треп не о чем, тем не менее:

"если документация по продуктам линейки «1С:Предприятие» (включая 1С: ИТС) содержит явную рекомендацию использовать данное средство для решения данной задачи."

https://its.1c.ru/db/metod8dev/content/2372/hdoc - пример создания процедуры

https://its.1c.ru/db/metod8dev/content/6000/hdoc - создали базу подключили к пп 1с

1с в своей лицензии не может указывать что делать с другим лицензионным продуктом - это бред.

Рарус во всю пользует способности sql
9. user1880116 26.04.24 08:57 Сейчас в теме
(6)
"если документация по продуктам линейки «1С:Предприятие» (включая 1С: ИТС) содержит явную рекомендацию использовать данное средство для решения данной задачи."
Не будет ли любезен многоуважаемый преподаватель предоставить документацию с явной рекомендацией использовать прямой доступ к SQL для пересчета итогов?
15. CIO_Galvent 26.04.24 12:40 Сейчас в теме
(9) Рекомендаций не будет. Потому как такое решение применяется на свой страх и риск. Если можно обойтись без этого, то лучше этого не делать. Но жизнь вносит свои коррективы. Если нет возможности выделить технологическое окно и в монопольном режиме провести пересчет (который даже на тестовой базе при выполнении забивает весь журнал транзакции и ставит раком СУБД), то других вариантов не остается.
Для сохранения логической целостности, как раз таки и нужны "приседания" с включением/выключением итогов и постепенным смещением точки итогов.
25. siamagic 26.04.24 20:30 Сейчас в теме
(9) Причем тут пересчет итогов? я про доступ к скулю на прямую и лицезионное соглашение.

(15) каким местом пересчет итогов влияет на логическую целостность?


(18)"ПРОГРАММНОГО ПРОДУКТА, содержимое баз данных и других наборов данных, в которых система хранит информацию" - есть ПП - всё понятно, а что за "система" мифическая? И каким образом лицензия ПП может нарушать лицензию постгрес к примеру?

(8) Читай далее основы архитектуры 1с, там интереснее будет - может даже джуном возьмут )))
26. virustam 11 26.04.24 21:25 Сейчас в теме
(25)
(15) каким местом пересчет итогов влияет на логическую целостность?

Если не отключать использование итогов и очистить таблицу, то система в период выполнения процедур будет возвращать некорректные данные остатков, а также некорректно формировать производные остатки (рассчитанные от последней точки актуальности или от текущих итогов).
Предположим что точка актуальности итогов установлена на 01.03.2024. Мы запрашиваем остатки на 20.03.2024. Система берет остатки на 01.03.2024 и по основной таблице рассчитывает остаток по 20.03.2024 (прибавляя приходы и вычитая расходы). Но после чистки таблицы итогов, данных на 01.03.2024 еще нет, что предполагает нулевой остаток. Также при записи, системой будет сформирован некорректный остаток в таблице итогов (в том числе и текущих).
При использовании указанной последовательности (в статье), это исключается. Но в моменте при выполнении запроса на получение остатка система обратиться к уже рассчитанному периоду (предположим успели посчитаться итоги на 01.11.2017) и дорассчитает по движениям. Это будет дольше, но данные будут корректные.
А если не сдвигать точку актуальности на самый ранний период, то система после включения использования итогов начнет пересчитывать итоги по всем периодам до точки актуальности. Поведение платформы от релиза к релизу отличается. В некоторых случаях я наблюдал ситуацию. При которой система анализировала изменения в таблице движений по периодам и если их не было, то и итоги не перессчитывались после включения использования итогов.
31. Jimbo 10 20.05.24 09:54 Сейчас в теме
Подведём итоги, господа. Какой размер базы до/после манипуляций? И размер таблицы итогов/количество записей было/стало?
Оставьте свое сообщение