Имя: Пароль:
1C
1С v8
Очень долго выводится печатная форма "Установка цен"
0 zenon46
 
21.06.22
19:39
Доброго вечера! УТ 11.5 база файловая около 7 гигов, стало заметно что очень долго выводится печатная форма "Установка цен номенклатуры" из одноименного документа, в документе буквально 10ть позиций, а печ. форму на экран выкидывает через 6-8 минут. Куда копать ? У кого есть УТ 11.5 как у вас с этим ?
1 Timon1405
 
21.06.22
19:50
какая платформа? полные ли права? другие документы тоже долго печатаются?
2 zenon46
 
21.06.22
19:52
(1) Крайняя 20-я, права полные. тут не долго печатаются, а очень долго печатная форма формируется.
3 Йохохо
 
21.06.22
19:53
копать в параметры печати недоступного принтера
4 rudnitskij
 
21.06.22
20:09
(2) "печ. форму на экран выкидывает через 6-8 минут" - такое описание проблемы говорит о том, что она долго формируется. Проверяйте отладчиком слабые места
ТиИ часто делаете? Попробуйте сделать, может дать ускорение
5 Sapiens_bru
 
22.06.22
07:55
Отладка - Замер производительности для начала.
6 zenon46
 
22.06.22
11:16
(4) ТИИ сделал никак не помогло
(5) сделал 99.88% времени выполнение запроса в документе
7 zenon46
 
22.06.22
12:00
Ради интереса, открыл копию базы до перехода на 11.5, 11.4 - сделал те же действия - результат получил через пару секунд.
8 Мультук
 
гуру
22.06.22
12:02
(7)

Тут программист нужен (с)
9 rudnitskij
 
22.06.22
12:37
(6) если вам надо помочь с запросом - мы не поможем ничем, не зная его текст
10 zenon46
 
22.06.22
12:44
(9) да во первых, я хотел узнать у кого есть 11.5 что бы проверили этот нюанс, запрос то типовой , если у всех работает быстро - значит у меня что-то с данными
11 rudnitskij
 
22.06.22
12:45
(10) а сама база дорабатывалась у вас?
12 rudnitskij
 
22.06.22
12:46
у меня в практике было, что в БУХ Украины документ один печатался до получаса - если очень много строк в табчасти (более ста). Пришлось типовой запрос править. А если строк до двадцати - вообще никаких проблем
13 arsik
 
гуру
22.06.22
12:54
(6) При ТИИ реструктуризацию делали? Возможно еще статистика на сервере SQL не обновляется регламентом.
14 arsik
 
гуру
22.06.22
12:57
+(13) Сорян. У вас файловая.
Что выдает cnvdbfl --info <путь к 1CV8.1CD>
15 arsik
 
гуру
22.06.22
12:59
+(14) ну еще и chdbfl проверьте
16 Dmitrii
 
гуру
22.06.22
13:25
(6) >> 99.88% времени выполнение запроса в документе.

Проверьте скорость печати под пользователем с полными правами, чтобы исключить проблемы RLS.
Проверьте включены ли расчет итогов и текущих итогов у всех нужных регистров. Посмотрите периоды рассчитанных итогов регистров. Попробуйте ограничить этот период последними 2-3 годами.
Проверьте нет ли случайно в каком-нибудь из регистров записей с некорректными датами. Например, пользователь опечатался и ввёл документ с датами 1022 год, 2122 год, 2002, 2202 и т.п.

Ну и на всякий случай. Относительные 99.88% в абсолютных величинах это сколько времени? Может результат формируется за 1 секунду, а вывод на экран печатной формы тормозит из-за каких-то настроек принтера, кеша настроек печатной формы и т.п.
Для чистоты эксперимента можно развернуть копию базы на другом компе и сформировать печатную форму для печати на другом принтере и от имени нового пользователя базы данных с полными правами.
17 luter-89
 
22.06.22
13:40
(0) вопрос без данных для анализа.
Собрали бы логи по запросам и блокировкам
18 luter-89
 
22.06.22
13:41
А, база файловая..
Замер производительности сделать нужно хотя бы
19 Dmitrii
 
гуру
22.06.22
13:46
(18) >> Замер производительности сделать нужно.

Был. В (6): 99.88% времени выполнение запроса в документе.
20 zenon46
 
22.06.22
14:44
(11) конфигурация типовая (13) реструризакцию делал (16) тормозит не печать, а 99% монитор производительности показывает вот тут РезультатЗапроса = Запрос.ВыполнитьПакет();

Сам запрос
                Запрос = Новый Запрос(
                "ВЫБРАТЬ
                |    УстановкаЦенНоменклатуры.Ссылка       КАК Ссылка,
                |    УстановкаЦенНоменклатуры.Ссылка.Номер КАК Номер,
                |    УстановкаЦенНоменклатуры.Ссылка.Дата  КАК Дата,
                |    Представление(УстановкаЦенНоменклатуры.Ссылка.Ответственный) КАК ОтветственныйПредставление
                |ИЗ
                |    Документ.УстановкаЦенНоменклатуры КАК УстановкаЦенНоменклатуры
                |ГДЕ
                |    УстановкаЦенНоменклатуры.Ссылка = &УстановкаЦенНоменклатуры
                |;
                |
                |////////////////////////////////////////////////////////////////////////////////
                |ВЫБРАТЬ
                |    Товары.НомерСтроки                       КАК НомерСтроки,
                |    Товары.Номенклатура                      КАК Номенклатура,
                |    Товары.Характеристика                    КАК Характеристика,
                |    Товары.Упаковка                          КАК Упаковка,
                |    Товары.Цена                              КАК Цена,
                |    Товары.ВидЦены                           КАК ВидЦены
                |ПОМЕСТИТЬ ТаблицаДанных
                |ИЗ
                |    Документ.УстановкаЦенНоменклатуры.Товары КАК Товары
                |ГДЕ
                |    Товары.Ссылка = &УстановкаЦенНоменклатуры
                |    И Товары.ВидЦены В (&ВидыЦен)
                |;
                |
                |ВЫБРАТЬ
                |    Товары.НомерСтроки                       КАК НомерСтроки,
                |    Товары.Номенклатура                      КАК Номенклатура,
                |    Товары.Характеристика                    КАК Характеристика,
                |    Товары.Упаковка                          КАК Упаковка,
                |    Товары.Цена                              КАК Цена,
                |    Товары.ВидЦены                           КАК ВидЦены,
                |    
                |    ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Упаковка = Товары.Упаковка ТОГДА
                |        ЦеныНоменклатурыСрезПоследних.Цена
                |    ИНАЧЕ
                |        ЦеныНоменклатурыСрезПоследних.Цена/ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1,1)*ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки3,1)
                |    КОНЕЦ КАК ДействующаяЦена,
                |    
                |    ВЫРАЗИТЬ(ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Цена <> 0 ТОГДА 100*(Товары.Цена - ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Упаковка = Товары.Упаковка ТОГДА
                |        ЦеныНоменклатурыСрезПоследних.Цена
                |    ИНАЧЕ
                |        ЦеныНоменклатурыСрезПоследних.Цена/ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1,1)*ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки3,1)
                |    КОНЕЦ)/
                |    
                |    ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Упаковка = Товары.Упаковка ТОГДА
                |        ЦеныНоменклатурыСрезПоследних.Цена
                |    ИНАЧЕ
                |        ЦеныНоменклатурыСрезПоследних.Цена/ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1,1)*ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки3,1)
                |    КОНЕЦ ИНАЧЕ 0.00 КОНЕЦ КАК Число(10,2)) КАК ПроцентИзменения
                |    
                |ПОМЕСТИТЬ Товары
                |ИЗ
                |    ТаблицаДанных КАК Товары
                |    
                |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаСреза, (Номенклатура, Характеристика, ВидЦены) В (ВЫБРАТЬ Т.Номенклатура, Т.Характеристика, Т.ВидЦены ИЗ Документ.УстановкаЦенНоменклатуры.Товары КАК Т)) КАК ЦеныНоменклатурыСрезПоследних
                |
                |        ПО Товары.Номенклатура      = ЦеныНоменклатурыСрезПоследних.Номенклатура
                |            И Товары.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика
                |            И Товары.ВидЦены        = ЦеныНоменклатурыСрезПоследних.ВидЦены
                |
                |ГДЕ
                |    (
                |        ВЫБОР
                |            КОГДА Товары.Номенклатура.ИспользованиеХарактеристик <> ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
                |                И Товары.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) ТОГДА ЛОЖЬ
                |            ИНАЧЕ ИСТИНА
                |        КОНЕЦ
                |    )
                |;
                |
                |ВЫБРАТЬ РАЗЛИЧНЫЕ
                |    Товары.ВидЦены КАК ВидЦены
                |ИЗ
                |    Товары КАК Товары
                |ГДЕ
                |    Товары.ПроцентИзменения <> 0 ИЛИ &Все
                |УПОРЯДОЧИТЬ ПО
                |    Товары.ВидЦены.РеквизитДопУпорядочивания
                |;
                |
                |ВЫБРАТЬ
                |    Товары.Номенклатура                      КАК Номенклатура,
                |    Товары.Характеристика                    КАК Характеристика,
                |    Товары.Номенклатура.НаименованиеПолное   КАК ПолноеНаименованиеНоменклатуры,
                |    Товары.Характеристика.НаименованиеПолное КАК ПолноеНаименованиеХарактеристики,
                |    Товары.Номенклатура.Код                  КАК Код,
                |    Товары.Номенклатура.Артикул              КАК Артикул,
                |    Товары.Упаковка                          КАК Упаковка,
                |    Товары.Номенклатура.ЕдиницаИзмерения     КАК ЕдиницаИзмерения,
                |    Товары.Цена                              КАК Цена,
                |    Товары.ВидЦены                           КАК ВидЦены,
                |    ЕСТЬNULL(Товары.ДействующаяЦена,0)       КАК СтараяЦена,
                |    Товары.ПроцентИзменения                  КАК ПроцентИзменения
                |    
                |ИЗ
                |    Товары КАК Товары
                |ГДЕ
                |    Товары.ПроцентИзменения <> 0 ИЛИ &Все
                |УПОРЯДОЧИТЬ ПО
                |    Товары.НомерСтроки
                |
                |ИТОГИ ПО
                |    Номенклатура, Характеристика");
21 Мультук
 
гуру
22.06.22
14:57
(0)

Свежо, оригинально (с). Спасибо, 1С
=========
UT_11_5_7_402

СформироватьПечатнуюФормуУстановкиЦенНоменклатуры(...)

Зеванули "где", исправили уже небось в хотфиксах
===============

ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаСреза,
(
Номенклатура, Характеристика, ВидЦены) В (ВЫБРАТЬ Т.Номенклатура, Т.Характеристика, Т.ВидЦены ИЗ Документ.УстановкаЦенНоменклатуры.Товары КАК Т
)
22 zenon46
 
22.06.22
15:12
(21) накатил все обновления, ошибка не исправлена
23 Конструктор1С
 
22.06.22
15:21
(20) (Номенклатура, Характеристика, ВидЦены) В (ВЫБРАТЬ Т.Номенклатура, Т.Характеристика, Т.ВидЦены ИЗ Документ.УстановкаЦенНоменклатуры.Товары КАК Т)

это что за на..й в параметрах виртуальной таблицы??? Перепиши вот так:

(Номенклатура, Характеристика, ВидЦены) В (ВЫБРАТЬ Т.Номенклатура, Т.Характеристика, Т.ВидЦены ИЗ ТаблицаДанных КАК Т)
24 zenon46
 
22.06.22
15:38
Вот рабочий запрос :

                "ВЫБРАТЬ
                |    УстановкаЦенНоменклатуры.Ссылка       КАК Ссылка,
                |    УстановкаЦенНоменклатуры.Ссылка.Номер КАК Номер,
                |    УстановкаЦенНоменклатуры.Ссылка.Дата  КАК Дата,
                |    Представление(УстановкаЦенНоменклатуры.Ссылка.Ответственный) КАК ОтветственныйПредставление
                |ИЗ
                |    Документ.УстановкаЦенНоменклатуры КАК УстановкаЦенНоменклатуры
                |ГДЕ
                |    УстановкаЦенНоменклатуры.Ссылка = &УстановкаЦенНоменклатуры
                |;
                |
                |ВЫБРАТЬ
                |    Товары.НомерСтроки                       КАК НомерСтроки,
                |    Товары.Номенклатура                      КАК Номенклатура,
                |    Товары.Характеристика                    КАК Характеристика,
                |    Товары.Упаковка                          КАК Упаковка,
                |    Товары.Цена                              КАК Цена,
                |    Товары.ВидЦены                           КАК ВидЦены,
                |    
                |    ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Упаковка = Товары.Упаковка ТОГДА
                |        ЦеныНоменклатурыСрезПоследних.Цена
                |    ИНАЧЕ
                |        ЦеныНоменклатурыСрезПоследних.Цена/ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1,1)*ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки3,1)
                |    КОНЕЦ КАК ДействующаяЦена,
                |    
                |    ВЫРАЗИТЬ(ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Цена <> 0 ТОГДА 100*(Товары.Цена - ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Упаковка = Товары.Упаковка ТОГДА
                |        ЦеныНоменклатурыСрезПоследних.Цена
                |    ИНАЧЕ
                |        ЦеныНоменклатурыСрезПоследних.Цена/ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1,1)*ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки3,1)
                |    КОНЕЦ)/
                |    
                |    ВЫБОР КОГДА ЦеныНоменклатурыСрезПоследних.Упаковка = Товары.Упаковка ТОГДА
                |        ЦеныНоменклатурыСрезПоследних.Цена
                |    ИНАЧЕ
                |        ЦеныНоменклатурыСрезПоследних.Цена/ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1,1)*ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки3,1)
                |    КОНЕЦ ИНАЧЕ 0.00 КОНЕЦ КАК Число(10,2)) КАК ПроцентИзменения
                |    
                |ПОМЕСТИТЬ Товары
                |ИЗ
                |    Документ.УстановкаЦенНоменклатуры.Товары КАК Товары
                |    
                |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаСреза, (Номенклатура, Характеристика, ВидЦены) В (ВЫБРАТЬ Т.Номенклатура, Т.Характеристика, Т.ВидЦены ИЗ Документ.УстановкаЦенНоменклатуры.Товары КАК Т ГДЕ Т.Ссылка = &УстановкаЦенНоменклатуры И Т.ВидЦены В (&ВидыЦен))) КАК ЦеныНоменклатурыСрезПоследних
                |
                |        ПО Товары.Номенклатура      = ЦеныНоменклатурыСрезПоследних.Номенклатура
                |            И Товары.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика
                |            И Товары.ВидЦены        = ЦеныНоменклатурыСрезПоследних.ВидЦены
                |
                |ГДЕ
                |    Товары.Ссылка = &УстановкаЦенНоменклатуры
                |    И Товары.ВидЦены В (&ВидыЦен)
                |    И (
                |        ВЫБОР
                |            КОГДА Товары.Номенклатура.ИспользованиеХарактеристик <> ЗНАЧЕНИЕ(Перечисление.ВариантыИспользованияХарактеристикНоменклатуры.НеИспользовать)
                |                И Товары.Характеристика = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка) ТОГДА ЛОЖЬ
                |            ИНАЧЕ ИСТИНА
                |        КОНЕЦ
                |    )
                |;
                |
                |ВЫБРАТЬ РАЗЛИЧНЫЕ
                |    Товары.ВидЦены КАК ВидЦены
                |ИЗ
                |    Товары КАК Товары
                |ГДЕ
                |    Товары.ВидЦены В (&ВидыЦен)
                |    И Товары.ПроцентИзменения <> 0 ИЛИ &Все
                |УПОРЯДОЧИТЬ ПО
                |    Товары.ВидЦены.РеквизитДопУпорядочивания
                |;
                |
                |ВЫБРАТЬ
                |    Товары.Номенклатура                      КАК Номенклатура,
                |    Товары.Характеристика                    КАК Характеристика,
                |    Товары.Номенклатура.НаименованиеПолное   КАК ПолноеНаименованиеНоменклатуры,
                |    Товары.Характеристика.НаименованиеПолное КАК ПолноеНаименованиеХарактеристики,
                |    Товары.Номенклатура.Код                  КАК Код,
                |    Товары.Номенклатура.Артикул              КАК Артикул,
                |    Товары.Упаковка                          КАК Упаковка,
                |    Товары.Номенклатура.ЕдиницаИзмерения     КАК ЕдиницаИзмерения,
                |    Товары.Цена                              КАК Цена,
                |    Товары.ВидЦены                           КАК ВидЦены,
                |    ЕСТЬNULL(Товары.ДействующаяЦена,0)       КАК СтараяЦена,
                |    Товары.ПроцентИзменения                  КАК ПроцентИзменения
                |    
                |ИЗ
                |    Товары КАК Товары
                |ГДЕ
                |    Товары.ПроцентИзменения <> 0 ИЛИ &Все
                |УПОРЯДОЧИТЬ ПО
                |    Товары.НомерСтроки
                |
                |ИТОГИ ПО
                |    Номенклатура, Характеристика");
25 Конструктор1С
 
22.06.22
15:47
(24) тут уже более-менее. И всё-равно так дико тормозит?
26 zenon46
 
22.06.22
15:52
(25) нет, это работает нормально, пару секунд
27 Мультук
 
гуру
22.06.22
15:58
(0)

Вот почитаешь такие темы и мысли в голову лезут:
- сначала переход на УТ 11.5, потом в отпуск
или
- сначала в отпуск, а потом переход

P.S.
Есть конечно вариант "пока буду в отпуске, перейдут без меня", но я уже слишком взрослый, чтобы в такое верить.
28 zenon46
 
22.06.22
16:02
(27) лучше сначала в отпуск и после перехода снова в отпуск
29 oslokot
 
22.06.22
16:47
Была у меня когда-то проблема с выводом печформ торг-12 и сф в ерп. Вывод длился до 10 минут. Вылечилось ТиИ
30 rudnitskij
 
22.06.22
17:32
ПОМЕСТИТЬ Товары
                |ИЗ
                |    ТаблицаДанных КАК Товары
                |    
                |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаСреза, (Номенклатура, Характеристика, ВидЦены) В (ВЫБРАТЬ Т.Номенклатура, Т.Характеристика, Т.ВидЦены ИЗ Документ.УстановкаЦенНоменклатуры.Товары КАК Т)) КАК ЦеныНоменклатурыСрезПоследних
                |
                |        ПО Товары.Номенклатура      = ЦеныНоменклатурыСрезПоследних.Номенклатура
                |            И Товары.Характеристика = ЦеныНоменклатурыСрезПоследних.Характеристика
                |            И Товары.ВидЦены        = ЦеныНоменклатурыСрезПоследних.ВидЦены
////////////////////////////////
Если убрать отбор, наложенный на РегистрСведений.ЦеныНоменклатуры.СрезПоследних по полям, по которым делается объединение, будет еще быстрее. Те торможения, что я описывал выше в (12) как раз из-за этого и были
31 Гений 1С
 
гуру
22.06.22
18:28
(0) монитор производительности предлагали уже?
32 DJ Anthon
 
22.06.22
18:28
Зокладко