Имя: Пароль:
1C
1C 7.7
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й вариант быстрее (БИ), запроса по документам оплаты.