|
v7: Туплю. Получение БИ по большому количеству документов
| ☑ |
0
fgaabbb
15.08.12
✎
07:57
|
Как лучше сделать?
1. тупое решение:
Запросом получить документы А.
в табличной части есть реквизит - другой документ Б, он является субконто, при выплате по нему есть обороты по счету 22.
Запрос к бухитогам по этому документу -если есть движения - получаем сумму и дату операции.
тупость - много бухзапросов - по одному на каждый документ...
2. менее тупое
Собрать все документы А, вытащить из них документы Б, положить все в таблицу значений. Сделать список значений документов Б, сделать бухзапрос по ним, найти документы в ТЗ, проставить там сумму и дату операции.
3. ???
|
|
1
Chai Nic
15.08.12
✎
08:18
|
Всё зависит от состояния базы и объемов запрашиваемых/хранящихся данных, в каких-то случаях быстрее будет 1 вариант, в каких-то второй.. Единого рецепта нет. Экспериментируй.
|
|
2
Junior1s
15.08.12
✎
08:19
|
мб, лучше через Операции ?
|
|
3
fgaabbb
15.08.12
✎
08:19
|
(1)1й вариант гарантированно тупит и безбожно память жрет...
|
|
4
fgaabbb
15.08.12
✎
08:21
|
(2) перебрать операции? мне надо и те документы, по которым не было движений.
|
|
5
PuhUfa
15.08.12
✎
08:22
|
По мне так 2 запроса 2го варианта должны работать быстрее чем Х запросов первого в независимости от объемов хранящихся данных
|
|
6
Junior1s
15.08.12
✎
08:24
|
ну тут явно запрос в цикле, будет худшее решение
|
|
7
fgaabbb
15.08.12
✎
08:26
|
(5) по мне - тоже... думаю, может бухзапрос переделать в запрос к документам выплат, с условием, что отбирать только по списку документов Б, проведенные, из них - датадок и сумма? интересно, быстрее будет или нет. ща попробую
|
|
8
Chai Nic
15.08.12
✎
09:01
|
(7) Не всегда.. если значений субконто очень много в итогах, а получать нужно небольшую часть от них - выгоднее запрос в цикле.
|
|
9
fgaabbb
15.08.12
✎
09:51
|
2й вариант быстрее (БИ), запроса по документам оплаты.
|
|