|  | Возможно определить каким отчетом пользуются чаще всего? | ☑ | 
    
        | 0
    
        ArtemKolos   20.02.12✎ 12:44 | 
        Возможно определить каким отчетом, обработкой пользуются чаще всего? Нужно для того, чтобы понять что тормози базу, конфигурация самописная.     |  | 
    
        | 1
    
        Лефмихалыч   20.02.12✎ 12:46 | 
        
 Процедура ПриОткрытии()
 
 ПредставлениеОбъекта = Строка(ЭтотОбъект);
 
 Если Найти(ПредставлениеОбъекта, "ВнешнийОтчет") <> 0 Тогда
 Событие = "Внешний отчет. Открытие";
 Иначе
 Событие = "Внешняя обработка. Открытие";
 КонецЕсли;
 
 ЗаписьЖурналаРегистрации(Событие, УровеньЖурналаРегистрации.Информация,,, "Открыт объект """ + Метаданные().Имя + """");
 
 
 |  | 
    
        | 2
    
        rbcvg   20.02.12✎ 12:46 | 
        Опрос проведи, анонимный.     |  | 
    
        | 3
    
        Fish   гуру 20.02.12✎ 12:46 | 
        Сделай РС и пиши туда при формировании отчёта     |  | 
    
        | 4
    
        ShoGUN   20.02.12✎ 12:49 | 
        (0) В общем случае - можно, хоть и несколько через задний проход. Например, писать в лог/РС каждое формирование отчётов. В типовых механизм отсутствует, так что после дописок ещё надо некоторое время потратить на сбор статистики.
 Можно ещё воспользоваться внешними средствами, например анализировать запросы на сервере СУБД, но это за рамками 1С.
 |  | 
    
        | 5
    
        ArtemKolos   20.02.12✎ 12:49 | 
        Можно получить потраченное время не формирование отчета?     |  | 
    
        | 6
    
        ShoGUN   20.02.12✎ 12:50 | 
        (1) Открытие само по себе ни о чём не говорит, лучше писать в лог при нажатии кнопки "Сформировать".
 (5) Замер производительности в отладчике чем не устраивает?
 |  | 
    
        | 7
    
        rbcvg   20.02.12✎ 12:50 | 
        (5) замер производительности?     |  | 
    
        | 8
    
        ArtemKolos   20.02.12✎ 12:51 | 
        Хочу записывать в рс количество формирования отчета, и время потраченное на это     |  | 
    
        | 9
    
        ShoGUN   20.02.12✎ 12:54 | 
        (8) Меня всё же интересует вопрос "зачем?". Узкие места в 90-95% случаев выявляются замером производительности.
 А так - нет ничего проще, меряй текущее время до начала формирования и после вывода результата. Правда точность заставляет желать лучшего - до секунд.
 |  | 
    
        | 10
    
        Капитан О   20.02.12✎ 12:57 | 
        обMSScriptControl = Новый COMОбъект("MSScriptControl.ScriptControl");
 обMSScriptControl.language = "javascript";
 Старт=обMSScriptControl.eval("new Date().getTime()");
 ...
 Финиш=обMSScriptControl.eval("new Date().getTime()");
 |  | 
    
        | 11
    
        Капитан О   20.02.12✎ 12:57 | 
        +(10) точность до миллисекунд     |  | 
    
        | 12
    
        ArtemKolos   20.02.12✎ 12:57 | 
        (9), просто отчетов много, думал может быстрее как то можно?     |  | 
    
        | 13
    
        ArtemKolos   20.02.12✎ 12:58 | 
        (10), пасиб, попробую     |  | 
    
        | 14
    
        ShoGUN   20.02.12✎ 12:58 | 
        (11) Точность тут условная:
 v8: миллисекунды в 1С Хотя в первом приближении годится, а второе автору вряд ли понадобится.     |  | 
        Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший