Имя: Пароль:
1C
1С v8
Увеличение в десятки раз времени проведения одного и того же документа?...
0 gotoinf
 
13.05.16
10:04
Здравствуйте и всем хорошего дня!) Такой вопрос, может быть, кто-то сталкивался???
БП 3.0, клиент-серверный вариант.
Сделана подписка на событие "ОбработкаПроведения" для документа "ПоступлениеНаРасчетныйСчет".
ПЕРИОДИЧЕСКИ, как пример, ВСЕГДА при запуске БП 3.0 проведение этого документа длится секунд 30-40 вместо обычных 1-3 (всплывание информационного окошка). При отключении подписки (типовое проведение) всё работает замечательно. Стал смотреть внутренности обработчика подписки - там, кажется, всё оптимально, НО, вот только странности - смотрю основной запрос в консоле запросов: время выполнения на сервере в среднем 0,043 с., а результат в окне появляется через те же 30-40 секунд ... Вот и непонятно, как одно и то же действие может проходить и 1 секунду и 30 секунд??? В SQL ли проблема (планировщике запросов) или ещё в чём??? В данном случае других пользователей в этой базе для эксперимента нет и, вроде бы, блокировок быть не должно ...
1 Cyberhawk
 
13.05.16
10:05
Замер производительности посмотри для начала
2 cons74
 
13.05.16
10:14
Чисто ради спортивного интереса - выложи запрос.
3 Господин ПЖ
 
13.05.16
10:15
статистику обнови
4 gotoinf
 
13.05.16
10:18
1 замер проведения времени проведения документа до момента появления оповещения: 0,132 с.
  - в реалии сообщение появилось через ~ 35 cекунд
2 замер - 0.119 с., в реалии появилось уже через 2 секунды ... метаморфозы ...
5 gotoinf
 
13.05.16
10:19
ПОЛНОЕ обновление статистики происходит каждую ночь + каждые 30 минут выборочное
6 КМ155
 
13.05.16
10:19
(4) что говорит тех.журнал ?
7 gotoinf
 
13.05.16
10:21
"ВЫБРАТЬ
    |    ВЫБОР
    |        КОГДА ХозрасчетныйДвиженияССубконто.СубконтоКт3.Ссылка ЕСТЬ NULL
    |            ТОГДА ХозрасчетныйДвиженияССубконто.Регистратор.Ссылка
    |        ИНАЧЕ ХозрасчетныйДвиженияССубконто.СубконтоКт3.Ссылка
    |    КОНЕЦ КАК ДокументОтгрузки,
    |    ВЫБОР
    |        КОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт3.Ссылка ЕСТЬ NULL
    |            ТОГДА ХозрасчетныйДвиженияССубконто.Регистратор.Ссылка
    |        ИНАЧЕ ХозрасчетныйДвиженияССубконто.СубконтоДт3.Ссылка
    |    КОНЕЦ КАК ДокументОплаты,
    |    ХозрасчетныйДвиженияССубконто.СчетКт,
    |    ХозрасчетныйДвиженияССубконто.СчетДт,
    |    ЕСТЬNULL(ХозрасчетныйДвиженияССубконто.Сумма, 0) КАК Сумма
    |ПОМЕСТИТЬ ВремТабл
    |ИЗ
    |    РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
    |            ,
    |            ,
    |            Регистратор = &Док
    |                И СчетДт В (&МассивСчетовОплат)
    |                И СчетКт В (&МассивСчетовОтгрузкиАванса),
    |            ,
    |            ) КАК ХозрасчетныйДвиженияССубконто
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ
    |    ВремТабл.ДокументОтгрузки,
    |    ВремТабл.ДокументОплаты КАК ДокументОплаты,
    |    ВремТабл.СчетКт,
    |    ВремТабл.СчетДт,
    |    СУММА(ВремТабл.Сумма) КАК Сумма
    |ИЗ
    |    ВремТабл КАК ВремТабл
    |
    |СГРУППИРОВАТЬ ПО
    |    ВремТабл.ДокументОтгрузки,
    |    ВремТабл.ДокументОплаты,
    |    ВремТабл.СчетКт,
    |    ВремТабл.СчетДт
    |
    |УПОРЯДОЧИТЬ ПО
    |    ВремТабл.ДокументОтгрузки,
    |    ВремТабл.ДокументОплаты.Дата
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |УНИЧТОЖИТЬ ВремТабл";
8 gotoinf
 
13.05.16
10:27
(6) А что под тех.журналом понимается?
9 НЕА123
 
13.05.16
10:29
(7)
".Ссылка" надо?
10 КМ155
 
13.05.16
10:32
11 Cyberhawk
 
13.05.16
10:32
Из простого - пересчитай итоги РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто и установи границу на дату, близкую к дате любого долго проводимого документа
Ну и ".Ссылка" убери и вообще замени на ВЫРАЗИТЬ с нужными типами документов
12 dachnik
 
13.05.16
10:34
Может регламентные задания вешают систему? Отключи их и проверь, как будет работать.
13 НЕА123
 
13.05.16
10:36
|    ВЫБОР
    |        КОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт3.Ссылка ЕСТЬ NULL
    |            ТОГДА ХозрасчетныйДвиженияССубконто.Регистратор.Ссылка
    |        ИНАЧЕ ХозрасчетныйДвиженияССубконто.СубконтоДт3.Ссылка
    |    КОНЕЦ КАК ДокументОплаты,

может так
ЕстьNULL(ХозрасчетныйДвиженияССубконто.СубконтоДт3, ХозрасчетныйДвиженияССубконто.Регистратор) КАК ДокументОплаты,
14 НЕА123
 
13.05.16
10:37
(0)
>время выполнения на сервере в среднем 0,043 с.
как это определял?
15 gotoinf
 
13.05.16
10:39
(11) 1)Без .Ссылка никак ... нюансы ...( 2)Установка Границы даты не помогает ...
16 gotoinf
 
13.05.16
10:39
(14) в консоле запросов написано ...)
17 arsik
 
гуру
13.05.16
10:39
(7) А для чего в этом запросе временная таблица?
18 ДенисЧ
 
13.05.16
10:40
(17) Читай рекомендации.
1с не советует соединяться с виртуальной таблицей
19 arsik
 
гуру
13.05.16
10:41
(18) И где тут соединение?
20 aleks_default
 
13.05.16
10:42
(0)А работаете не по удаленке в базе? Может с сеткой проблемы?
Я так понял что проблема как раз со скоростью передачи с сервера на клиент.
21 arsik
 
гуру
13.05.16
10:45
(16) Посмотри при проведении, что у тебя в переменных
&Док
&МассивСчетовОплат
&МассивСчетовОтгрузкиАванса

И вообще то советуют не массивами пользоватся а списками значений. Быстрее работает.
Возможно в консоли у тебя списки, а в рабочей массивы.
22 НЕА123
 
13.05.16
10:48
(15)
>Без .Ссылка никак
ну ВЫРАЗИТЬ по совету (11) обязательно, иначе это ж пездец...
23 rphosts
 
13.05.16
10:48
(0) ещё раз померь время выполнения процедуры проведения модуля объекта и время выполнения кода подписки... если суммарное время того и другого значительно меньше общего времени выполнения - ищите какая ещё подписка отрабатывает.
24 Serg_1960
 
13.05.16
10:55
(мимо проходя, особо не задумываясь) А может быть не проведение тормозит, а отображение? Не на стороне сервера, а на стороне клиента. Список там какой-нибудь обновляется...
25 gotoinf
 
13.05.16
10:58
Пусть запрос не оптимальный - это да, спасибо всем большое за советы по исправлению, искреннее спасибо!!! Но походу реально проблемы в передачи информации с сервера на клиента - судя по времени выполнения на сервере и появлению окна оповещения на клиенте ...
26 gotoinf
 
13.05.16
10:59
Причём, от чего это зависит - непонятно ...
27 aleks_default
 
13.05.16
11:00
А что за оповещение в обработке проведения? Зачем оно?
28 gotoinf
 
13.05.16
11:10
(27) да типовое оповещение при проведении документа
29 H A D G E H O G s
 
13.05.16
11:11
(21) это откуда такая дичь про массивы?
30 vyaz
 
13.05.16
11:12
(0)
>> смотрю основной запрос в консоле запросов: время
>> выполнения на сервере в среднем 0,043 с., а результат в
>> окне появляется через те же 30-40 секунд ...
Проблема у тебя с обработкой результата запроса, скорее всего, а не с самим запросом.
31 aleks_default
 
13.05.16
11:16
Если локально работать, на самом сервере, а не на рабочей станции - те же проблемы?
32 Kamas
 
13.05.16
11:17
(7) убери из "ХозрасчетныйДвиженияССубконто.Регистратор.Ссылка" и
"ХозрасчетныйДвиженияССубконто.СубконтоДт3.Ссылка"
.ссылка
33 arsik
 
гуру
13.05.16
11:18
(29) В 8.1 по крайней мере так. Сам проверь.
34 arsik
 
гуру
13.05.16
11:18
+ (33) Ну и список побольше сделай. Не 2-3, а 20-30 элементов
35 Kamas
 
13.05.16
11:19
(32) и если у тебя подписка для одной реализации то типизируй ХозрасчетныйДвиженияССубконто.Регистратор
36 pavig
 
13.05.16
11:23
ИМХО проблема в
"ХозрасчетныйДвиженияССубконто.СубконтоКт3.Ссылка"
"ХозрасчетныйДвиженияССубконто.СубконтоДт3.Ссылка"
и особенно в
"ХозрасчетныйДвиженияССубконто.Регистратор.Ссылка"
37 hhhh
 
13.05.16
11:30
(0) да, ХозрасчетныйДвиженияССубконто.Регистратор.Ссылка в сотни раз медленнее чем ХозрасчетныйДвиженияССубконто.Регистратор
38 gotoinf
 
13.05.16
12:02
ВСЕМ ОГРОМНОЕ СПАСИБО!!! ДЕЙСТВИТЕЛЬНО, ПРОБЛЕМА БЫЛА В ЗАПРОСЕ!!!
39 gotoinf
 
13.05.16
12:05
(22) А по поводу ВЫРАЗИТЬ - отпало само собой ибо Регистратор заменен на &Док дабы не изгаляться )
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс