| 
    
        
     
     | 
    
  | 
Долго выводит результат СКД | ☑ | ||
|---|---|---|---|---|
| 
    0
    
        serg-lom89    
     10.04.17 
            ✎
    15:17 
 | 
         
        Добрый день уважаемые форумчане.Прошу вашей помощи.
 
        Формирую отчет с помощью СКД. Вывожу данные как Диаграмма. Программно ставлю точки,серии диаграммы. И что то долго выводит данные на форму,хотя запрос через в отладчике выполняется очень быстро. Начал грешить что много рассчитывается ресурсов. Пошел путем что их очищаю,и подставляю в зависимости от выбранных пользователем. Чуток быстрее начало работать ,но все равно нет ( Подскажите,када копать то?  | 
|||
| 
    1
    
        serg-lom89    
     10.04.17 
            ✎
    15:21 
 | 
         
        в запросе были вложенные запросы,переделал     
         | 
|||
| 
    2
    
        serg-lom89    
     10.04.17 
            ✎
    16:11 
 | 
         
        неужели никто не сталкивался ?     
         | 
|||
| 
    3
    
        Timon1405    
     10.04.17 
            ✎
    16:16 
 | 
         
        1 сделайте замер производительности
 
        2 >>Программно ставлю точки,серии диаграммы. Если в этих расчетах используются ссылки на объекты БД, то может тормозить из-за получения объектов. возможно ли эти данные вычислить в запросе?  | 
|||
| 
    4
    
        PCcomCat    
     10.04.17 
            ✎
    16:18 
 | 
         
        Чем больше вычисляемых полей, тем дольше формирует. Пробуй в запросе по-возможности вычислить.     
         | 
|||
| 
    5
    
        serg-lom89    
     10.04.17 
            ✎
    16:19 
 | 
         
        (3) не все получиться вычислить в запросе на самом деле     
         | 
|||
| 
    6
    
        ERWINS    
     10.04.17 
            ✎
    16:21 
 | 
         
        а сам запрос?
 
        а померить что выполняется долго, вывод или запрос?  | 
|||
| 
    7
    
        PCcomCat    
     10.04.17 
            ✎
    16:26 
 | 
         
        Запрос может выполняться быстро. А вот из-за вычислений в СКД в разы увеличится вывод результата. 
 
        Если слишком большие тормоза, то лучше оптимизировать под вычисление в запросе или программное вычисление полей по-максимуму.  | 
|||
| 
    8
    
        Timon1405    
     10.04.17 
            ✎
    16:28 
 | 
         
        (5) замер в студию.
 
        он покажет где проблема: в запросе или в постобработке верим, бывает такое, что не вычислить, например, контрольный символ в штрихкоде на лету. если постобратоку ускорить не получится, может быть стоит изменить структуру конфигурации, ввести какие-то служебные таблицы, рассчитать эти данные заранее  | 
|||
| 
    9
    
        ERWINS    
     10.04.17 
            ✎
    17:54 
 | 
         
        (7) еще может быть обращение к полям после запроса.     
         | 
|||
| 
    10
    
        serg-lom89    
     11.04.17 
            ✎
    10:49 
 | 
         
        воткнул в кнопку сформировать время выполнения
 
        На строчке МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); время выполнения 1(секунд)- 0,02 ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); скажем так от 20 секунд до 42 секунд  | 
|||
| 
    11
    
        serg-lom89    
     11.04.17 
            ✎
    10:53 
 | 
         
        это выборка данных за месяц.
 
        с Начала года На строчке МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,Настройки,ДанныеРасшифровки); время выполнения 1секунд ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); 46 сек  | 
|||
| 
    12
    
        serg-lom89    
     11.04.17 
            ✎
    11:02 
 | 
         
        (8) вот примерно такие показатели     
         | 
|||
| 
    13
    
        ERWINS    
     11.04.17 
            ✎
    11:10 
 | 
         
        в выводе у тебя вероятно идет обращение  к полям базы     
         | 
|||
| 
    14
    
        serg-lom89    
     11.04.17 
            ✎
    11:22 
 | 
         
        (13) как сделать более оптимально тогда?
 
        просто что то я зашел в тупик(  | 
|||
| 
    15
    
        Timon1405    
     11.04.17 
            ✎
    11:37 
 | 
         
        (14) >>Программно ставлю точки,серии диаграммы.     
         | 
|||
| 
    16
    
        Timon1405    
     11.04.17 
            ✎
    11:37 
 | 
         
        Что там за расчеты?     
         | 
|||
| 
    17
    
        serg-lom89    
     11.04.17 
            ✎
    11:46 
 | 
         
        (16) 
 
        Груп = Серия.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных")); Груп.Использование = Истина; Груп.Поле = Новый ПолеКомпоновкиДанных(ПолеСерий); точки там способом Точки = Диаграмма.Точки.Добавить() ;  | 
|||
| 
    18
    
        serg-lom89    
     11.04.17 
            ✎
    12:02 
 | 
         
        сделал что бы не все ресурсы расчитывались,а какие пользователь выбирает. программно добавляю ресурсы выбранные     
         | 
|||
| 
    19
    
        ERWINS    
     11.04.17 
            ✎
    12:04 
 | 
         
        (14) код покажи     
         | 
|||
| 
    20
    
        ERWINS    
     11.04.17 
            ✎
    12:05 
 | 
         
        вычисляемые поля
 
        + код в заполнении макета  | 
|||
| 
    21
    
        serg-lom89    
     11.04.17 
            ✎
    12:09 
 | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |