Имя: Пароль:
1C
1С v8
быстродействие выполнения запроса после обновления
↓ (Волшебник 24.07.2025 17:46)
0 Алекс587444
 
24.07.25
15:44
Доброго дня, подскажите пожалуйста после обновления версии конфигурации управление предприятием на более новую, запрос стал отрабатывать медленнее на +-10 сек(в отладке), если я запущу этот запрос в предприятии до/после обновления и там и там около 11 секунд, но в отладке до обновления(2сек) после(13сек), в чем беда где копать? Спасибо
1 Волшебник
 
24.07.25
15:45
Только не показывайте запрос, пожалуйста. Хотя бы первые 100 сообщений.
2 Алекс587444
 
24.07.25
16:25
(1) намёк ясен
фейковый запрос №1
ВЫБРАТЬ
    ЛимитПродаж.Партнер КАК Партнер,
    ЛимитПродаж.Партнер КАК Валюта,
    ЛимитПродаж.Партнер КАК Сумма
ПОМЕСТИТЬ вт_ДанныеЛимитаПродаж
ИЗ
    РегистрСведений.ЛимитПродаж.Партнер .СрезПоследних(&ТекущаяДата) КАК ЛимитПродаж.Партнер
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЕСТЬNULL(МАКСИМУМ(вт_ДанныеЛимитаПродаж.Сумма), 0) КАК Сумма
ИЗ
    вт_ДанныеЛимитаПродаж КАК вт_ДанныеЛимитаПродаж
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РасчетыСКлиентамиПоСрокамОстатки.ДолгРеглОстаток КАК Сумма
ПОМЕСТИТЬ вт_СуммаЗадолженности
ИЗ
    РегистрНакопления.РасчетыСКлиентамиПоСрокам.Остатки(&ТекущаяДата,) КАК РасчетыСКлиентамиПоСрокамОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ТекущаяДата,) КАК КурсыВалютСрезПоследних
        ПО РасчетыСКлиентамиПоСрокамОстатки.Валюта = КурсыВалютСрезПоследних.Валюта

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ОКР(ЗаказыКлиентовОстатки.СуммаОстаток * ЕСТЬNULL(КурсыВалютСрезПоследних.Курс, 1), 2)
ИЗ
    РегистрНакопления.ЗаказыКлиентов.Остатки(
            &ТекущаяДата,
             ВЫБОР
                    КОГДА ЗаказКлиента ССЫЛКА Документ.ЗаказКлиента
                        ТОГДА ВЫРАЗИТЬ(ЗаказКлиента КАК Документ.ЗаказКлиента).Бесплатный = ЛОЖЬ
                КОНЕЦ) КАК ЗаказыКлиентовОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ТекущаяДата, ) КАК КурсыВалютСрезПоследних
        ПО ЗаказыКлиентовОстатки.ЗаказКлиента.Валюта = КурсыВалютСрезПоследних.Валюта
ГДЕ
    ЗаказыКлиентовОстатки.ЗаказаноОстаток > 0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СУММА(вт_СуммаЗадолженности.Сумма) КАК Сумма
ИЗ
    вт_СуммаЗадолженности КАК вт_СуммаЗадолженности
;

////////////////////////////////////////////////////////////////////////////////

ВЫБРАТЬ
    СУММА(ОКР(ЗаказыКлиентовОстатки.СуммаОстаток * ЕСТЬNULL(КурсыВалютСрезПоследних.Курс, 1), 2)) КАК Сумма
ПОМЕСТИТЬ ВТ_СуммаНеотгруженныхЗаказов
ИЗ
    РегистрНакопления.ЗаказыКлиентов.Остатки(&ТекущаяДата,) КАК ЗаказыКлиентовОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ТекущаяДата, ) КАК КурсыВалютСрезПоследних
        ПО ЗаказыКлиентовОстатки.ЗаказКлиента.Валюта = КурсыВалютСрезПоследних.Валюта
ГДЕ
    ЗаказыКлиентовОстатки.ЗаказаноОстаток > 0

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    СУММА(ОКР(Заказ.СуммаДокумента * ЕСТЬNULL(КурсыВалютСрезПоследних.Курс, 1), 2))
ИЗ
    Документ.ЗаказКлиента КАК Заказ
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыКлиентов.Обороты(, , , ) КАК ЗаказыКлиентовОбороты
        ПО Заказ.Ссылка = ЗаказыКлиентовОбороты.ЗаказКлиента
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ТекущаяДата, ) КАК КурсыВалютСрезПоследних
        ПО Заказ.Валюта = КурсыВалютСрезПоследних.Валюта
ГДЕ
    Заказ.Ссылка = &Ссылка
    И ЗаказыКлиентовОбороты.ЗаказКлиента ЕСТЬ NULL
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СУММА(ВТ_СуммаНеотгруженныхЗаказов.Сумма) КАК Сумма
ИЗ
    ВТ_СуммаНеотгруженныхЗаказов КАК ВТ_СуммаНеотгруженныхЗаказов
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РасчетыСКлиентамиПоСрокамОстатки.ПредоплатаРеглОстаток КАК Сумма
ПОМЕСТИТЬ вт_СуммаПредоплат
ИЗ
    РегистрНакопления.РасчетыСКлиентамиПоСрокам.Остатки(
            &ТекущаяДата,) КАК РасчетыСКлиентамиПоСрокамОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ТекущаяДата, ) КАК КурсыВалютСрезПоследних
        ПО РасчетыСКлиентамиПоСрокамОстатки.Валюта = КурсыВалютСрезПоследних.Валюта
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СУММА(вт_СуммаПредоплат.Сумма) КАК Сумма
ИЗ
    вт_СуммаПредоплат КАК вт_СуммаПредоплат
3 Волшебник
 
24.07.25
16:01
(2) это фейковый запрос с синтаксическими ошибками
4 Алекс587444
 
24.07.25
16:25
(3)  прошу прощения, вот
фейковый запрос №2
ВЫБРАТЬ
    ЛимитПродаж.Партнер КАК Партнер,
    ЛимитПродаж.Валюта КАК Валюта,
    ЛимитПродаж.Сумма КАК Сумма
ПОМЕСТИТЬ вт_ДанныеЛимитаПродаж
ИЗ
    РегистрСведений.ЛимитПродаж.СрезПоследних(&ТекущаяДата,) КАК ЛимитПродаж
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ЕСТЬNULL(МАКСИМУМ(вт_ДанныеЛимитаПродаж.Сумма), 0) КАК Сумма
ИЗ
    вт_ДанныеЛимитаПродаж КАК вт_ДанныеЛимитаПродаж
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РасчетыСКлиентамиПоСрокамОстатки.ДолгРеглОстаток КАК Сумма
ПОМЕСТИТЬ вт_СуммаЗадолженности
ИЗ
    РегистрНакопления.РасчетыСКлиентамиПоСрокам.Остатки(&ТекущаяДата,) КАК РасчетыСКлиентамиПоСрокамОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ТекущаяДата, ) КАК КурсыВалютСрезПоследних
        ПО РасчетыСКлиентамиПоСрокамОстатки.Валюта = КурсыВалютСрезПоследних.Валюта

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ОКР(СУММА(РаспоряженияНаОтгрузку.Сумма) * ЕСТЬNULL(КурсыВалютСрезПоследних.Курс, 1), 2)
ИЗ
    РегистрНакопления.РаспоряженияНаОтгрузку КАК РаспоряженияНаОтгрузку
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ТекущаяДата, ) КАК КурсыВалютСрезПоследних
        ПО РаспоряженияНаОтгрузку.Распоряжение.Валюта = КурсыВалютСрезПоследних.Валюта
ГДЕ
    ВЫБОР
            КОГДА РаспоряженияНаОтгрузку.Распоряжение ССЫЛКА Документ.ЗаказКлиента
                ТОГДА ВЫРАЗИТЬ(РаспоряженияНаОтгрузку.Распоряжение КАК Документ.ЗаказКлиента).Бесплатный = ЛОЖЬ
        КОНЕЦ
    И РаспоряженияНаОтгрузку.Период <= &ТекущаяДата

СГРУППИРОВАТЬ ПО
    КурсыВалютСрезПоследних.Курс

ИМЕЮЩИЕ
    СУММА(РаспоряженияНаОтгрузку.Сумма) <> 0
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СУММА(вт_СуммаЗадолженности.Сумма) КАК Сумма
ИЗ
    вт_СуммаЗадолженности КАК вт_СуммаЗадолженности
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ОКР(СУММА(РаспоряженияНаОтгрузку.Сумма) * ЕСТЬNULL(КурсыВалютСрезПоследних.Курс, 1), 2) КАК Сумма
ПОМЕСТИТЬ ВТ_СуммаНеотгруженныхЗаказов
ИЗ
    РегистрНакопления.РаспоряженияНаОтгрузку КАК РаспоряженияНаОтгрузку
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ТекущаяДата, ) КАК КурсыВалютСрезПоследних
        ПО РаспоряженияНаОтгрузку.Распоряжение.Валюта = КурсыВалютСрезПоследних.Валюта
ГДЕ
    РаспоряженияНаОтгрузку.Период <= &ТекущаяДата

СГРУППИРОВАТЬ ПО
    КурсыВалютСрезПоследних.Курс

ИМЕЮЩИЕ
    СУММА(РаспоряженияНаОтгрузку.Сумма) <> 0

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    СУММА(ОКР(Заказ.СуммаДокумента * ЕСТЬNULL(КурсыВалютСрезПоследних.Курс, 1), 2))
ИЗ
    Документ.ЗаказКлиента КАК Заказ
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.РаспоряженияНаОтгрузку.Обороты(, , , ) КАК РаспоряженияНаОтгрузкуОбороты
        ПО Заказ.Ссылка = РаспоряженияНаОтгрузкуОбороты.Распоряжение
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ТекущаяДата, ) КАК КурсыВалютСрезПоследних
        ПО Заказ.Валюта = КурсыВалютСрезПоследних.Валюта
ГДЕ
    Заказ.Ссылка = &Ссылка
    И РаспоряженияНаОтгрузкуОбороты.Распоряжение ЕСТЬ NULL
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СУММА(ВТ_СуммаНеотгруженныхЗаказов.Сумма) КАК Сумма
ИЗ
    ВТ_СуммаНеотгруженныхЗаказов КАК ВТ_СуммаНеотгруженныхЗаказов
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    РасчетыСКлиентамиПоСрокамОстатки.ПредоплатаРеглОстаток КАК Сумма
ПОМЕСТИТЬ вт_СуммаПредоплат
ИЗ
    РегистрНакопления.РасчетыСКлиентамиПоСрокам.Остатки(
            &ТекущаяДата,
             РасчетныйДокумент ССЫЛКА Документ.ПоступлениеБезналичныхДенежныхСредств) КАК РасчетыСКлиентамиПоСрокамОстатки
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ТекущаяДата, ) КАК КурсыВалютСрезПоследних
        ПО РасчетыСКлиентамиПоСрокамОстатки.Валюта = КурсыВалютСрезПоследних.Валюта
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    СУММА(вт_СуммаПредоплат.Сумма) КАК Сумма
ИЗ
    вт_СуммаПредоплат КАК вт_СуммаПредоплат
5 Волшебник
 
24.07.25
16:24
(4) Это тоже фейковый запрос.
6 Бычье сердце
 
24.07.25
17:07
РегистрСведений.КурсыВалют вывести в ВТ поможет?
7 Бычье сердце
 
24.07.25
17:09
РегистрНакопления.РаспоряженияНаОтгрузку.Обороты(, , , ) добавить отбор в параметр?
8 Алекс587444
 
24.07.25
17:09
(6) вывел  и попробовал с индексацией по валюте, но всё равно , не понимаю почему после обновления  началось, может быть дело в кэше?
9 Алекс587444
 
24.07.25
17:10
(7) сек
10 Волшебник
 
24.07.25
17:13
(7) А Вас не смутило отсутствие измерений во временных таблицах?
11 Бычье сердце
 
24.07.25
17:14
(10)
Ужас просто
12 Бычье сердце
 
24.07.25
17:19
del
13 Волшебник
 
24.07.25
17:17
(12) левое соединение с КурсыВалютСрезПоследних лишнее
14 Бычье сердце
 
24.07.25
17:22
(13)
+
(0) Короче переписывайте с нуля, придерживаясь рекомендаций 1С
15 Алекс587444
 
24.07.25
17:27
(14) так оно ж работаЛЬ, и довольно шустро, а чтож такого случилось после обновления?
16 Волшебник
 
24.07.25
17:28
(15) Вы врёте. Оно не могло работать, потому что синтаксические ошибки и бессмысленные вложенные запросы. Вы просто тупой бот
17 Алекс587444
 
24.07.25
17:29
(16) а если абстрагироваться от запроса хз чем а зачем написанный, прилетел баг что медленно работает то что раньше работало быстро, с куали может после обновления  начать тормозить?
18 Алекс587444
 
24.07.25
17:29
(16) за константу берем что с запросом всё гуд
19 Алекс587444
 
24.07.25
17:31
(16) это же вы "запросили запрос" на его я бочки не катил, я на более глубокую проблему думаю мб 1с может в момент обновления ступить? или галочку где-то не проставили какую ( в обновлениях я пи___л-теоретик)
20 Бычье сердце
 
24.07.25
17:33
(19)
Переиндексируйте базу)))
21 okmail
 
24.07.25
17:34
что в плане запроса?
22 okmail
 
24.07.25
17:36
(19) надо поставить переключатель "выполнять запросы с максимальной скоростью" в настройках
23 Алекс587444
 
24.07.25
17:37
(20) спасибо, сейчас почитаю как это сделаю попробую
24 Алекс587444
 
24.07.25
17:37
(22) подскажите пожалуйста в какой месте эта ФО?
25 Алекс587444
 
24.07.25
17:38
(22)  где этот турбо режим?=)
26 Бычье сердце
 
24.07.25
17:47
(25)
В конфигураторе в меню Сервис - Параметры



(Не вставляется картинка)

27 Волшебник
 
24.07.25
17:47
Му-ха-ха