|
помогите с запросом - тормозит | ☑ | ||
---|---|---|---|---|
0
slicem
23.10.12
✎
05:58
|
БУ 2.0
Задача: Получить Платежи по договору. две видимых ситуации: 1.платеж Д60 К50 2.взаимозачет/прочая хрень Д76.5 К60 Это утрировано, ессно - состав счетов ширее. проблема возникает по второй части: Когда делаю запрос: | ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт( | , | &ДатаКон, | , | СчетДт.Ссылка В ИЕРАРХИИ (&СписокСчетовВзаиморасчетов), | &СубконтоДоговор, | СчетКт.Ссылка В ИЕРАРХИИ (&СписокСчетовВзаиморасчетов), | &СубконтоДоговор, | СубконтоДт1 = &Договор | И СубконтоКт1 <> &Договор) КАК ХозрасчетныйОборотыДтКт все летает, но если наоборот "ВЫБРАТЬ | ХозрасчетныйОборотыДтКт.СуммаОборот КАК Сумма |ИЗ | РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт( | , | &ДатаКон, | , | СчетДт.Ссылка В ИЕРАРХИИ (&СписокСчетовВзаиморасчетов), | &СубконтоДоговор, | СчетКт.Ссылка В ИЕРАРХИИ (&СписокСчетовВзаиморасчетов), | &СубконтоДоговор, | СубконтоКт1 = &Договор | И СубконтоДт1 <> &Договор) КАК ХозрасчетныйОборотыДтКт все встает колом. Создаётся впечатление, что сперва делается отбор по дебетовой части, поэтому в первом запросе результат отбора маленький и все хорошо - выполняется менее секунды. А вот во втором случае, по дебету считай всё прилетает и это вгоняет комп в ступор (порядка 20-30 сек думает). Поможите, как это обойти. Я не вижу ((. |
|||
1
Рэйв
23.10.12
✎
06:17
|
А у тебя может быть ситуация когда один и тот же договор стоит и в Дт и в Кт одновременно в одной проводке?
Если нет, то смысла в двойных условиях нет, только лишняя нехилая нагрузка |
|||
2
skunk
23.10.12
✎
06:17
|
это что конкурс кто быстрее найдет три отличия? .. я пока нашел только одно ... во втором запросе есть - "ВЫБРАТЬ ... а в первом этой строки нет
|
|||
3
skunk
23.10.12
✎
06:18
|
а все нашел оставшееся
|
|||
4
Рэйв
23.10.12
✎
06:18
|
(2)В конце Дт -Кт у субконто:-)
|
|||
5
slicem
23.10.12
✎
06:41
|
Upd. В принципе, самоустранилось:
Тормоза на файловой копии, на сиквеле летает. Но сам факт интересен, если есть идеи выкладывайте - пригодятся. |
|||
6
slicem
23.10.12
✎
06:44
|
(1) во1 Я думал условия в запросе ускоряют его работу ибо ограничивают размер выборки.
во2. Д60.1 К60.2 например. |
|||
7
НЕА123
23.10.12
✎
08:06
|
не по теме.
ВЫРАЗИТЬ не помешало бы. |
|||
8
НЕА123
23.10.12
✎
08:07
|
+(7)
а может как раз и по теме... не проснулся еще (с) |
|||
9
Fragster
гуру
23.10.12
✎
08:10
|
добавь отбор по видам субконто в 3-й параметр ВТ
|
|||
10
Fragster
гуру
23.10.12
✎
08:11
|
(7) монопенисуально, если нет обращения через точку. ну, разве что доп. отбор по (И СубконтоКт1 Ссылка Справочник.ДоговорыКонтрагентов), но 1с вроде умная и так его делает для простых сравнений с составными типами
|
|||
11
Fragster
гуру
23.10.12
✎
08:12
|
а, там есть отбор...
|
|||
12
НЕА123
23.10.12
✎
08:12
|
СчетДт.Ссылка
Ссылка - надо? |
|||
13
Fragster
гуру
23.10.12
✎
08:13
|
(12) не надо. и В ИЕРАРХИИ заменить на плоский список
|
|||
14
НЕА123
23.10.12
✎
08:14
|
(10)
да. согласен. практически просто байтики сравниваются. |
|||
15
Fragster
гуру
23.10.12
✎
08:16
|
я думаю, что дело в том, что база - файловая
|
|||
16
Fragster
гуру
23.10.12
✎
08:17
|
можно попробовать заменить виртуальную таблицу ОборотыДтКт на Обороты и сравнивать Субконто1 и КорСубконто1
|
|||
17
slicem
23.10.12
✎
09:30
|
(16) думал, но не покатит мне направление движения принципиально. СуммаОборотДТ это же не Приход, если я прально понимаю.
(13) Основное торможение именно из-за отсутствия отбора по дебету. А так еще ускорить можно ограничив начальную даду датой договора, например. Но это всё мёртвому припарки. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |