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