|
Помогите усовершенствовать код вычисления остатков | ☑ | ||
---|---|---|---|---|
0
GirlProgram
02.02.14
✎
14:34
|
Вот такой код. Необходимо вычислить остатки по абонентской плате:
Остатки = РегистрыНакопления.РасчетыПоАбонПлатеСКТВ; Отбор = Новый Структура; Отбор.Вставить("Контрагент",Контрагент); Отбор.Вставить("ВидыУслуг",ВидыУслуг); ТабОстатков = Остатки.Остатки(ДатаОстатков,Отбор,"Контрагент, ВидыУслуг"); Если ТабОстатков.Количество() > 0 Тогда Остаток = ТабОстатков[0].Сальдо; КонецЕсли; Возврат Остаток; Проблема в строчке обращения к регистру "ТабОстатков = Остатки.Остатки(ДатаОстатков,Отбор,"Контрагент, ВидыУслуг");" Данный запрос выполняется очень долго. Как его ускорить? |
|||
1
Wobland
02.02.14
✎
14:38
|
предлагаю использовать за...
|
|||
2
mistеr
02.02.14
✎
14:46
|
..прос.
|
|||
3
Armando
02.02.14
✎
14:47
|
Измерения контрагент виды услуг поставить на первое место в измерениях регистра. Может поможет
|
|||
4
GirlProgram
02.02.14
✎
14:50
|
Сделала запрос
Запрос = Новый Запрос("ВЫБРАТЬ | РасчетыПоАбонПлатеСКТВОстатки.Контрагент, | РасчетыПоАбонПлатеСКТВОстатки.СальдоОстаток |ИЗ | РегистрНакопления.РасчетыПоАбонПлатеСКТВ.Остатки КАК РасчетыПоАбонПлатеСКТВОстатки |ГДЕ | РасчетыПоАбонПлатеСКТВОстатки.Контрагент = &Контрагент | И РасчетыПоАбонПлатеСКТВОстатки.ВидыУслуг = &ВидыУслуг"); Запрос.УстановитьПараметр("Контрагент", Контрагент); Запрос.УстановитьПараметр("ВидыУслуг", ВидыУслуг); Результат = Запрос.Выполнить().Выгрузить(); если Результат.Количество() > 0 тогда Остаток = Результат[0].СальдоОстаток; конецесли; Возврат Остаток; также долго |
|||
5
Научите меня
02.02.14
✎
14:51
|
(4) Поставь отбор по контрагенту и Виду услуг в параметры виртуальной таблицы
|
|||
6
GirlProgram
02.02.14
✎
14:51
|
сейчас попробую измерения переставить
|
|||
7
GirlProgram
02.02.14
✎
14:51
|
(5) это как?
|
|||
8
GirlProgram
02.02.14
✎
14:54
|
с измерениями помогло, скорость увеличилась
|
|||
9
Научите меня
02.02.14
✎
14:55
|
(7) В конструкторе запросов - на закладке "Таблицы и поля" - самая последняя кнопка в графе посередине :)
|
|||
10
GirlProgram
02.02.14
✎
14:56
|
(3)спасибо, просто летать стало. даже и представить не могла, что от порядка измерений зависит скорость
|
|||
11
GirlProgram
02.02.14
✎
14:56
|
так что с виртуальными таблицами разбираться и не буду
|
|||
12
Научите меня
02.02.14
✎
14:57
|
(4) А как у тебя отработает если остатка нет? Добавь перед условием строчку: Остаток = 0;
|
|||
13
Научите меня
02.02.14
✎
14:58
|
(11) А зря, у тебя со временем будет все медленнее и медленнее работать такой запрос
|
|||
14
Armando
02.02.14
✎
15:04
|
(10) Читай ИТС)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |