|   |   | 
| 
 | 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) - вычитайте обработкой незакрытое, создайте на каждый случай ПКО, чтобы закрылось в ноль.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |