|
v7: Непонятное поведение 1С. Разное время выполнения одного и того же запроса. | ☑ | ||
---|---|---|---|---|
0
nextkmv
08.07.15
✎
15:16
|
Добрый день!
Имеет место следующая ситуация. 1с77 7.70.027 версия для SQL Конфигурация Учет и отчетность предпринимателя База данных SQL 2008. При проведении документа корректировка задолженности в случае если: Вид взаиморасчетов = расчеты с покупателем И Вид корректировки = увеличение вызывается процедура глВыплатаПокупателю, в которой идет выполнение следующего запроса: ТекстЗапроса = "//{{ЗАПРОС(Поставщики) |Период с ПервыйДокумент по ПоследнийДокумент; |ВидДеятельности = Регистр.РасчетыСПокупателями.ВидДеятельности; |СтавкаНДС = Регистр.РасчетыСПокупателями.СтавкаНДС; |Дог = Регистр.РасчетыСПокупателями.Договор; |РасчДокумент = Регистр.РасчетыСПокупателями.РасчДокумент; |ВидМатериальногоРесурса = Регистр.РасчетыСПокупателями.ВидМатериальногоРесурса; |Номенклатура = Регистр.РасчетыСПокупателями.Номенклатура; |ДокументПоступления = Регистр.РасчетыСПокупателями.ДокументПоступления; |Кол = Регистр.РасчетыСПокупателями.Количество; |Сумма = Регистр.РасчетыСПокупателями.Сумма; |СумНДС = Регистр.РасчетыСПокупателями.СуммаНДС; |СумНП = Регистр.РасчетыСПокупателями.СуммаНП; |Ст = Регистр.РасчетыСПокупателями.Стоимость; |СтОпл = Регистр.РасчетыСПокупателями.СтоимостьОплаченная; |Функция Количество = КонОст(Кол) Когда (Кол < 0); |Функция Задолженность = КонОст(Сумма) Когда (Сумма < 0); |Функция СуммаНДС = КонОст(СумНДС) Когда (СумНДС < 0); |Функция СуммаНП = КонОст(СумНП) Когда (СумНП < 0); |Функция Стоимость = КонОст(Ст) Когда (Ст < 0); |Функция СтоимостьОплаченная = КонОст(СтОпл) Когда (СтОпл < 0); |Группировка ВидДеятельности; |Группировка СтавкаНДС; |Группировка РасчДокумент; |Группировка ВидМатериальногоРесурса; |Группировка Номенклатура; |Группировка ДокументПоступления; |Условие (Дог = Конт.Договор); |"//}}ЗАПРОС ; Запрос = СоздатьОбъект("Запрос"); Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат 0; КонецЕсли; Время выполнения этого запроса несколько часов, однако если этот же запрос, с этими же параметрами, выполнить не в момент проведения а в обработке он выполняется за несколько секунд. Почему так может быть? |
|||
1
МихаилМ
08.07.15
✎
15:18
|
блокировки
|
|||
2
vcv
08.07.15
✎
15:19
|
А условия запроса точно одинаковы? Договор, ПервыйДокумент и ПоследнийДокумент. Может в процедуре проведения вместо документа/позиции документа передаёшь что-нибудь некорректное? Контекст, например.
|
|||
3
nextkmv
08.07.15
✎
15:28
|
(2) В тестовой обработке указал те же условия которые были получены в отладчике при проведении документа.
(1) Я то же грешу на блокировки, но не знаю как подтвердить или опровергнуть эту теорию, а так же что с ней делать дальше. При всем при том этот эффект наблюдается при монопольной работе. |
|||
4
Ёпрст
08.07.15
✎
15:37
|
(0) забавный запрос.. в частности в расчете условий при вычислении останков.
У вас чего, в ресурсах отрицательное количество всегда накапливается ? |
|||
5
Ёпрст
08.07.15
✎
15:39
|
И такое условие на КонОст.. должно давать забавные рещультаты..весьма забавные. Особенно, если ПоследнийДокумент не в дате ТА находится
|
|||
6
Ёпрст
08.07.15
✎
15:40
|
хотя, пофик на ТА - там всегда "чудесные" результаты.
|
|||
7
aka AMIGO
08.07.15
✎
15:41
|
ЗЫ. у меня тоже, в локальной базе отчет выполняется за 5 секунд, а в сетевой, где сидят 20 человек, около 3-х минут..
|
|||
8
Господин ПЖ
08.07.15
✎
15:42
|
>но не знаю как подтвердить или опровергнуть эту теорию, а так же что с ней делать дальше
посмотреть на скуле блокировки |
|||
9
nextkmv
08.07.15
✎
15:44
|
(5) Тем не менее это типовая конфигурация которая регулярно обновляется.
|
|||
10
Ёпрст
08.07.15
✎
16:37
|
(9) передавай привет тем, кто писал это чудо в (0)
|
|||
11
Herby
09.07.15
✎
15:05
|
несколько секунд и несколько часов - разница несоизмеримая.
может период отбора все-таки разный? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |