RDT1C/DataProcessors/ирКонсольЗаданий/Ext/ObjectModule.bsl
Администратор 6b2afa2228 Добавлен инструмент Анализ замера производительности
Форма выбора объектов метаданных
        *Исправлено вычисление количества строк кнопкой "Количество" у табличных частей и перерасчетов
    Общее
        *Исправлены ошибки при работе с наборами записей перерасчетов
        *Исправлена ошибка обработки отказа от записи при наличии ссылки на объект БД в дополнительных свойствах объекта
        +В форме настроек подключения к СУБД собственной базы добавлен режим выполнения запросов непосредственно с сервера 1С
    Статистика по запросам MSSQL
        +Добавлено подменю вариантов отчета
        +Добавлена кнопка передачи компоновки отчета в консоль компоновки
        +Добавлена кнопка передачи запроса отчета в консоль запросов
    Консоль кода
        *Исправлена команда "В однострочный" для выделенного фрагмента
    Консоль запросов
        +На закладке "Запрос результата" добавлена кнопка "Статистика MSSQL" для открытия инструмента "Статистика по запросам MSSQL" с передачей интервала последнего выполнения запроса
        *Исправлена потеря регистра букв имен на закладке "Временные таблицы" в некоторых случаях в режиме дерева запроса
    Тестирование метаданных
        *Исправлена ошибка  тестирования элементов управления управляемых форм
    Поиск дублей и замена ссылок
        *Исправлено заполнение колонки "Ценность данных" кнопкой "обновить ценность" на закладке "Группы дублей"
    Конструктор запроса
        *Исправлено попадание элементов отбора с агрегатами в некоторых случаях в секцию ГДЕ вместо ИМЕЮЩИЕ при сборке текста
        *Исправлено в некоторых случаях некорректное преобразование константного правого значения элемента условия в параметр
    Структура хранения БД
        +Добавлена кнопка "Описание шаблонов ИТС"
    Редактор объекта БД
        +На закладке "Связанные колонки" добавлено групповое изменение пометок
        +В списке реквизитов добавлена колонка "Зависит от" для отражения связей параметров выбора
        *Исправлена работа связей параметров выбора сломанная несколько версий назад
        +Добавлена команда выгрузки избранных связанных колонок
        +При загрузке объекта из памяти теперь считываются дополнительные свойства в одноименную таблицу на форме
        *Исправлена ошибка при выборе метассылок (например перечислений) внесенная несколько версий назад
    Подбор и обработка объектов
        *Исправлена ошибка обработки строк некоторых регистров
        +В обработке "Добавить/изменить строку" добавлена колонка "Зависит от" для отражения связей параметров выбора
    Консоль заданий
        +Добавлена команда перехода к методу из списка фоновых заданий
        +Для фонового задания сделана полноценная форма
        *Список методов теперь сортируется по алфавиту
        +В списке методов добавлены колонки "Последний конец" и "Возраст, м"
        +Добавлен режим автообновления для списка методов
    Редактор хранилищ настроек
        +Добавлены команды выгрузки/загрузки выделенных настроек в/из файла
        +Добавлена команда установки отбора по настройкам инструментов разработчика
    Анализ техножурнала
        +При загрузке логов с отбором теперь выводится сообщение с представлением фильтра
        +Добавлен фильтр по типу события на этапе загрузке логов
2018-05-02 23:53:06 +03:00

96 lines
8.4 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//ирПортативный Перем ирПортативный Экспорт;
//ирПортативный Перем ирОбщий Экспорт;
//ирПортативный Перем ирСервер Экспорт;
//ирПортативный Перем ирКэш Экспорт;
//ирПортативный Перем ирПривилегированный Экспорт;
Перем ТаблицаАктивныхФоновыхЗаданий Экспорт;
Функция ДлительностьФоновогоЗадания(ФоновоеЗадание) Экспорт
#Если Сервер И Не Сервер Тогда
ФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору();
#КонецЕсли
Если Не ЗначениеЗаполнено(ФоновоеЗадание.Конец) Тогда
Длительность = ТекущаяДата() - ФоновоеЗадание.Начало;
Иначе
Длительность = ФоновоеЗадание.Конец - ФоновоеЗадание.Начало;
КонецЕсли;
Возврат Длительность;
КонецФункции
Процедура ОбновитьСтрокуФоновогоЗадания(Знач СтрокаСпискаФоновыхЗаданий, Знач ФоновоеЗадание = Неопределено, Знач Длительность = Неопределено) Экспорт
Если ФоновоеЗадание = Неопределено Тогда
ФоновоеЗадание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(Новый УникальныйИдентификатор(СтрокаСпискаФоновыхЗаданий.Идентификатор));
КонецЕсли;
Если Длительность = Неопределено Тогда
Длительность = ДлительностьФоновогоЗадания(ФоновоеЗадание);
КонецЕсли;
СтрокаСпискаФоновыхЗаданий.Наименование = ФоновоеЗадание.Наименование;
СтрокаСпискаФоновыхЗаданий.Ключ = ФоновоеЗадание.Ключ;
СтрокаСпискаФоновыхЗаданий.ИмяМетода = ФоновоеЗадание.ИмяМетода;
СтрокаСпискаФоновыхЗаданий.Начало = ФоновоеЗадание.Начало;
СтрокаСпискаФоновыхЗаданий.Конец = ФоновоеЗадание.Конец;
СтрокаСпискаФоновыхЗаданий.Длительность = Длительность;
СтрокаСпискаФоновыхЗаданий.Сервер = ФоновоеЗадание.Расположение;
Если ФоновоеЗадание.ИнформацияОбОшибке <> Неопределено Тогда
СтрокаСпискаФоновыхЗаданий.Ошибка = ПодробноеПредставлениеОшибки(ФоновоеЗадание.ИнформацияОбОшибке);
КонецЕсли;
Если ФоновоеЗадание.Состояние = СостояниеФоновогоЗадания.Активно Тогда
СтрокаАктивногоФоновогоЗадания = ТаблицаАктивныхФоновыхЗаданий.Найти(ФоновоеЗадание.УникальныйИдентификатор, "Идентификатор");
Если СтрокаАктивногоФоновогоЗадания <> Неопределено Тогда
СтрокаСпискаФоновыхЗаданий.НомерСеанса = СтрокаАктивногоФоновогоЗадания.НомерСеанса;
СтрокаСпискаФоновыхЗаданий.НомерСоединения = СтрокаАктивногоФоновогоЗадания.НомерСоединения;
КонецЕсли;
КонецЕсли;
СтрокаСпискаФоновыхЗаданий.Идентификатор = ФоновоеЗадание.УникальныйИдентификатор;
СтрокаСпискаФоновыхЗаданий.СостояниеЗадания = ФоновоеЗадание.Состояние;
СтрокаСпискаФоновыхЗаданий.СостояниеПредставление = ФоновоеЗадание.Состояние;
СтрокаСпискаФоновыхЗаданий.РазделениеДанных = ФоновоеЗадание.РазделениеДанных;
СтрокаСпискаФоновыхЗаданий.РазделениеДанныхПредставление = ирОбщий.РасширенноеПредставлениеЗначенияЛкс(ФоновоеЗадание.РазделениеДанных);
КонецПроцедуры
Функция ОтборДляЖурналаПоСтрокеЗадания(Знач ТекущаяСтрока) Экспорт
СтруктураОтбора = Новый Структура;
СтруктураОтбора.Вставить("ИмяПриложения", "BackgroundJob");
Если ЗначениеЗаполнено(ТекущаяСтрока.НомерСеанса) Тогда
СтруктураОтбора.Вставить("Сеанс", ТекущаяСтрока.НомерСеанса);
КонецЕсли;
Возврат СтруктураОтбора;
КонецФункции
Процедура ОткрытьОшибкиЖРПоЗаданию(Знач ВыбраннаяСтрока) Экспорт
СтруктураОтбора = ОтборДляЖурналаПоСтрокеЗадания(ВыбраннаяСтрока);
СтруктураОтбора.Вставить("Уровень", "Ошибка");
АнализЖурналаРегистрации = ирОбщий.ПолучитьОбъектПоПолномуИмениМетаданныхЛкс("Обработка.ирАнализЖурналаРегистрации");
#Если Сервер И Не Сервер Тогда
АнализЖурналаРегистрации = Обработки.ирАнализЖурналаРегистрации.Создать();
#КонецЕсли
АнализЖурналаРегистрации.ОткрытьСОтбором(ВыбраннаяСтрока.Начало, ВыбраннаяСтрока.Конец, СтруктураОтбора);
КонецПроцедуры
//ирПортативный лФайл = Новый Файл(ИспользуемоеИмяФайла);
//ирПортативный ПолноеИмяФайлаБазовогоМодуля = Лев(лФайл.Путь, СтрДлина(лФайл.Путь) - СтрДлина("Модули\")) + "ирПортативный.epf";
//ирПортативный #Если Клиент Тогда
//ирПортативный Контейнер = Новый Структура();
//ирПортативный Оповестить("ирПолучитьБазовуюФорму", Контейнер);
//ирПортативный Если Не Контейнер.Свойство("ирПортативный", ирПортативный) Тогда
//ирПортативный ирПортативный = ВнешниеОбработки.ПолучитьФорму(ПолноеИмяФайлаБазовогоМодуля);
//ирПортативный ирПортативный.Открыть();
//ирПортативный КонецЕсли;
//ирПортативный #Иначе
//ирПортативный ирПортативный = ВнешниеОбработки.Создать(ПолноеИмяФайлаБазовогоМодуля, Ложь); // Это будет второй экземпляр объекта
//ирПортативный #КонецЕсли
//ирПортативный ирОбщий = ирПортативный.ПолучитьОбщийМодульЛкс("ирОбщий");
//ирПортативный ирКэш = ирПортативный.ПолучитьОбщийМодульЛкс("ирКэш");
//ирПортативный ирСервер = ирПортативный.ПолучитьОбщийМодульЛкс("ирСервер");
//ирПортативный ирПривилегированный = ирПортативный.ПолучитьОбщийМодульЛкс("ирПривилегированный");