|
v7: 7.7 Комплексная, стали долго проводиться документы РКО | ☑ | ||
---|---|---|---|---|
0
zenon46
26.05.23
✎
12:01
|
Доброго дня!
Есть в наличии база на 7.7 Комплексная, стали долго проводиться документы РКО (ПКО наверное тоже не проверял) Сделал замер производительности, 97% времени занимает, сортировка таблицы, размер таблицы кажет 38000 тысяч записей. Находится это в типовой процедуре глДвижениеДолгов, как то можно оптимизировать ? ВремВзаим.ВыгрузитьИтоги(ТаблИтогов,1,1); ТаблИтогов.Сортировать("+КредДокумент",1); // погашаем долги по ФИФО |
|||
1
Волшебник
26.05.23
✎
12:03
|
Не надо выбирать 38 тысяч. Выбирайте последние 100 записей
|
|||
2
zenon46
26.05.23
✎
12:05
|
(1) а я и не выбираю из регистра так выгружается ВремВзаим.ВыгрузитьИтоги(ТаблИтогов,1,1);
А почему 100, а не 1000 или 10 ? |
|||
3
Волшебник
26.05.23
✎
12:06
|
(2) Этого хватит для закрытия долгов
|
|||
4
Builder
26.05.23
✎
12:07
|
(2) Проверьте фильтр на этом регистре какой стоит.
Либо регистры не закрываются и накопилось там дохрена записей. |
|||
5
toypaul
гуру
26.05.23
✎
12:09
|
можно. если подключены прямые запросы. там 3800 запросов на то, чтобы получить дату для каждого документа и потом отсортировать. нужно сделать одним запросом. или переписать хотя бы на (типовые) запросы (без Сортировать)
|
|||
6
zenon46
26.05.23
✎
12:09
|
(4) фильтр такой стоит
ВремВзаим.УстановитьЗначениеФильтра("Фирма" ,Фирма, 1); ВремВзаим.УстановитьЗначениеФильтра("Договор" ,Договор, 1); |
|||
7
toypaul
гуру
26.05.23
✎
12:10
|
(6) так это не нормально когда по договору 38 тыс остатков
|
|||
8
agres
26.05.23
✎
12:11
|
38000 тысяч = 38 млн
|
|||
9
zenon46
26.05.23
✎
12:14
|
(7) да там есть моменты через одно место сделанные для ведения учета "как надо" - вопрос в том как ускорить ?
Как предложил волшебник выгрузить 100 записей не вариант - ВыгрузитьИтоги - так не умеет |
|||
10
Волшебник
26.05.23
✎
12:19
|
(9) Тогда закройте остатки. Там не должны быть тысячи записей
|
|||
11
Bigbro
26.05.23
✎
12:51
|
вариантов всего два
правильный - разобраться с бардаком в регистре чтобы не тянуть миллионы строк по взаиморасчетам. быстрый - отключить эту проверку раз судя по всему на состояние взаиморасчетов всем плевать а документы делаются только для печати. |
|||
12
toypaul
гуру
26.05.23
✎
14:03
|
(9) я написал как
|
|||
13
uno-group
26.05.23
✎
14:11
|
Написать обработку которой раз в месяц сворачивать не закрывающиеся долги которые на самом деле закрыты.
Убрать лишние не закрывающиеся измерения и перенести их в реквизиты если эта информация для чего то нужна. |
|||
14
Харлампий Дымба
26.05.23
✎
18:35
|
(12) А через пару месяц ТС откроет новую тему: "При открытии нового периода 1С висит уже сутки и не отвечает. Что делать?".
Вот буквально пару месяцев назад с такой же фигнёй разбирался - мелкооптовая розница, только складской учет в ТиСе, реализация документом "Реализация" на покупателя "Розничный покупатель". Через 5 лет продаж регистр "Покупатели" треснул. Просто посоздавал обработкой документ "ПКО" в конец каждого месяца, файл регистра усох с 800 до 40 мегабайт. Так что в вариант-то на самом деле один: закрой регистр "Поставщики" по "КредДокумент", как uno-group говорит. Всё равно, судя по всему, это измерение не используется должным образом. |
|||
15
Злопчинский
26.05.23
✎
20:14
|
Харлампий правильно говорит.
Регистр взаиморасчётов не закрыт. Поэтому тянется тонны дерьма. В таблице движений внешним редактором тупо заменить измерение КредДокумент на пустое значение. Удалить таблицу итогов и пересчитать итоги по этому регистру. В коде найти места где задаётся измерение КредДокумент и занулить. Всё. . Совершенно аналогично занулить измерение фирма в остатках и партиях если торгуют от Интер кампании, но перепродажу не делают |
|||
16
Bigbro
27.05.23
✎
07:37
|
да уж.. а когда то, всего лишь каких то 20 лет назад такие огороды городили с этими автоперепродажами друг другу, с автодвижениями товаров.
помню когда ограничение делали по торговым площадям - когда в кассе магазина получаешь вместо одного 4 чека от разных ООО )) и все это приходилось автоматизировать чтобы у юзеров одна кнопка, а вся логика скрыта и работает как часы)) |
|||
17
NorthWind
27.05.23
✎
10:13
|
(0) сильно зависит от того, пользуется ли кто-либо взаиморасчетами в этой базе. Скорее всего, регистры незакрыты. Присоединяюсь к (14) - вычитайте обработкой незакрытое, создайте на каждый случай ПКО, чтобы закрылось в ноль.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |