|
бух обороты не используют итоги | ☑ | ||
---|---|---|---|---|
0
Defender77
23.06.23
✎
13:45
|
Всем привет
помогите разобраться с такой проблемой: при выполнении запроса за год с 01/01/2022 по 31/12/2022 в профайлере 1С формирует три SQL запроса: по итогам с '4021-01-01 00:00:00','4021-12-01 00:00:00' и два по основной таблице с периодом '4021-12-01 00:00:00' до '4021-12-31 23:59:59'. Из-за запросов по основной таблице все это выполняется несколько минут. в другой базе за аналогичный период запрос один - только по итогам, выполняется меньше секунды. сделал откат бух итогов на 0001.01.01 с возвратом на текущий период, двигая помесячно. полный перерасчет невозможен из-за слишком большой базы. статистика свежая, индексы тоже релиз 1С 8.3.21.1709 сам запрос: запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОбороты.Счет КАК Счет, | ХозрасчетныйОбороты.СуммаОборот КАК СуммаОборот |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(&Дата1, &Дата2, , , , , , ) КАК ХозрасчетныйОбороты"; запрос.УстановитьПараметр("Дата1", Период.ДатаНачала); запрос.УстановитьПараметр("Дата2", Новый Граница(КонецДня(Период.ДатаОкончания), ВидГраницы.Включая)); |
|||
1
Мультук
гуру
23.06.23
✎
14:34
|
(0)
0) У вас отчёт за 2022 год, а данные у вас формируются за 2021 + 2000 смещение = 4021. 21 и 22 год -- как то странно. 1) Имхо, в случае с оборотами достаточно обычной даты. 2) А по какую дату рассчитаны бух.итоги ? Там точно уже 2023 год ? 3) Не знаю насколько у вас большая база. Но БП в пару десятков гигибайт перерасчитывает за вменяемое время (до часа точно) Но только из 1С-предприятия, из стандартной обработки управления итогами Из конфигуратора виснет. P.S. запрос.Текст = "ВЫБРАТЬ | ХозрасчетныйОбороты.Счет КАК Счет, | ХозрасчетныйОбороты.СуммаОборот КАК СуммаОборот |ИЗ | РегистрБухгалтерии.Хозрасчетный.Обороты(&Дата1, &Дата2, , , , , , ) КАК ХозрасчетныйОбороты"; запрос.УстановитьПараметр("Дата1", Период.ДатаНачала); запрос.УстановитьПараметр("Дата2", КонецДня(Период.ДатаОкончания)); |
|||
2
Defender77
23.06.23
✎
15:00
|
(1)
0) Окошком ошибся, не тот период скопировал. но идея такая же. период разбивается на два и последний месяц обсчитывается по основной таблице 1) Попробовал все )) с датой такой же результат 2) точно. 31 мая 2023 3) SQL говорит что база 680гб. места для tempdb не хватает |
|||
3
Chai Nic
23.06.23
✎
15:14
|
(2) "SQL говорит что база 680гб"
А сколько из этого занимают данные? Может там сканы документов в блобах лежат. Смотрите количество записей в регистре бухгалтерии. |
|||
4
Defender77
23.06.23
✎
15:22
|
строк в таблице 161 548 042
|
|||
5
BDA80
23.06.23
✎
15:51
|
В запросах по основной таблице в секции WHERE присутствует PeriodAdjustment?
|
|||
6
Defender77
23.06.23
✎
16:09
|
(5) Да, присутствует. Тоже обратил внимание что в тормозящей базе уточнение периода = 1
|
|||
7
pablo_escobar
23.06.23
✎
16:14
|
(6) Вот статья была по этому https://infostart.ru/1c/articles/1635057/
|
|||
8
Chai Nic
23.06.23
✎
16:32
|
(7) "Причина неисправления:Не ошибка. Это проектное поведение, реализованное в задаче Поддержки межотчетного периода."
Однако, здравствуйте. Интересно, этот беспредел творится с ведома Нуралиевых, или же это молодые джависты, пришедшие в разработку, развлекаются? |
|||
9
timurhv
25.06.23
✎
15:50
|
(8) Выводы неверные, в БГУ 2.0 уточнения изначально не было (насколько помню, не было платформенной возможности). Добавляли намного раньше БП3 и подобных проблем с падением производительности не было.
|
|||
10
Chai Nic
25.06.23
✎
17:44
|
(9) Я не об уточнении периода, которое конечно костыль, но раз правительство сказало надо - сделаем. Я о том, что неоптимально происходит обращение к бухитогам со сканом таблиц, и это объявляют не багой, а фичей..
|
|||
11
timurhv
25.06.23
✎
21:23
|
(10) Это смотря как описание ошибки сформулировать. То что написано в багрепорте я бы тоже отклонил)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |