|   |   | 
| 
 | остатки на каждый день, оптимизация | ☑ | ||
|---|---|---|---|---|
| 0
    
        Stim 27.03.13✎ 10:18 | 
        Получаю остатки на каждый день, связывая регл произв календарь с регистром по условию датаКалендаря больше периода регистра. Группируются по максимуму периода, связываю полученную таблицу с регистром по условию максПериод равно период.
  И все бы хорошо, но в регистре пара сотен тысяч записей, почти все они соединяются с каждой датой из календаря. Итого имеем примерно сотню тысяч записей на каждый день из периода в среднем. Выполняется такое соединение 1-2 минуты. Как можно оптимизировать? РС периодический( день) должен заполняться каждый день, но если не заполнен, то брать предыдущее рассчитанное значение. | |||
| 1
    
        mistеr 27.03.13✎ 10:32 | 
        Если есть записи "почти" за каждый день, можно выбрать все и кодом пробежаться, заполнить ТЗ на каждый день.
  P.S. В РС остатки? | |||
| 2
    
        neckto 27.03.13✎ 10:41 | 
        1. Запрос к таблице остатков.
  2. Запрос к таблице Остатки и обороты за указанный период с разбивкой по дням - расчет остатка на конец текущего дня = Остаток за предыдущий день+оборот за текущий. | |||
| 3
    
        mistеr 27.03.13✎ 10:44 | 
        (2) Тоже попался :) "РС периодический"     | |||
| 4
    
        neckto 27.03.13✎ 10:46 | 
        (3) И что?     | |||
| 5
    
        Stim 27.03.13✎ 10:49 | 
        Не остатки, а какие-то расчетные значения,  получаемые из периодического регистра сведений, типа курсов валют.     | |||
| 6
    
        neckto 27.03.13✎ 10:53 | 
        А, блин. Ну заведи регистр накопления.     | |||
| 7
    
        Stim 27.03.13✎ 11:00 | 
        (6)  нафейхуа?     | |||
| 8
    
        НафНаф 27.03.13✎ 11:02 | 
        (0) сделай временную таблицу интервалы действия, работай с ней потом     | |||
| 9
    
        hhhh 27.03.13✎ 11:02 | 
        (7) вообще-то в отчетах десятки миллиардов строчек в выборке колбасятся. Сто тысяч - это несерьезно, даже не стоит заморачиваться.     | |||
| 10
    
        scanduta 27.03.13✎ 11:04 | 
        Юзай Скд ...Период из календаря передавай между запросами как параметр     | |||
| 11
    
        Stim 27.03.13✎ 11:06 | 
        (10) скд не катит. Таблицу с данными нужно получать из разных мест     | |||
| 12
    
        Stim 27.03.13✎ 11:07 | 
        (8) временную табл из регистра?что это даст?     | |||
| 13
    
        scanduta 27.03.13✎ 11:07 | 
        (11)Подробнее можно?     | |||
| 14
    
        Stim 27.03.13✎ 11:14 | 
        (13) подробнее- на каждый день задается стоимость товаров. В рс.
  Мне нужно на каждую дату операции с этими товарами получить стоимость. Можно через запрос в цикле срезом последних на каждый документ, но лучше получить таблицу за весь период операций. Эта оценка операций нужна в нескольких отчетах и документах | |||
| 15
    
        scanduta 27.03.13✎ 11:18 | 
        (14) ну делай 2 набора жанныхв СКД один будет собой представлять дата из РС.
  А второй запрос будет по остаткам. (вирт. таблица) А параметра дата передавай из первого набора данных | |||
| 16
    
        scanduta 27.03.13✎ 11:19 | 
        Так получятся остатки на каждую дату из РС     | |||
| 17
    
        Stim 27.03.13✎ 11:21 | 
        Пля. Без скд     | |||
| 18
    
        scanduta 27.03.13✎ 11:22 | 
        Зря там очень просто это     | |||
| 19
    
        Stim 27.03.13✎ 11:24 | 
        Подозреваю, что скд в этом случае проводит запрос в цикле по каждой строке первой таблицы. Да и в любом случае- как получить тз от скд?     | |||
| 20
    
        scanduta 27.03.13✎ 11:24 | 
        Если что вот статья как быстро сделать http://1c-wiki.ru/wiki/Ежедневные_остатки     | |||
| 21
    
        mistеr 27.03.13✎ 20:37 | 
        (14) >Эта оценка операций нужна в нескольких отчетах и документах
  Если такая выборка действительно нужна во многих местах, и получать ее нужно быстро, то можно материализовать ее в отдельном регистре. Аналогично тому, как в ЗУПе графики работы заполняются на каждый день. Заполнять при изменении стоимости в первичном регистре. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |