Поговорим об оптимизации?

Внимание! Данный форум является модерируемым.
Для получения к нему доступа необходимо зарегистрироваться или авторизоваться на сайте.

Страницы: 1
RSS
Поговорим об оптимизации?
 
Пишем значит функцию

Код
Функция ДайОбластьБыстро(Знач Область)
   Возврат Область;
КонецФункции


и делаем так

Код
      ОбластьЯчейкаСтрокиОптимизация = Макет.ПолучитьОбласть("СтрокаТаблицыГруппировка|КолонкаРабочееМесто");
      
      //выводим колонки календаря для текущего интервала времени
      Для СчетчикРабочихМест = 1 По ЧислоРабочихМест Цикл
         
         ОбластьЯчейкаСтроки = Макет.ПолучитьОбласть("СтрокаТаблицыГруппировка|КолонкаРабочееМесто");
         ОбластьЯчейкаСтроки = ДайОбластьБыстро(ОбластьЯчейкаСтрокиОптимизация);
         
         ОбластьЯчейкаСтроки.ТекущаяОбласть.ШиринаКолонки = ШиринаКолонкиВертикально;


это АРМ записи на ремонт.
это где-то строка 2100 в модуле.
И все работает, и время выполнения смотрим на скриншоте.

сколько времени сэкономлено?
 
Код
      Если ТекущийСимвол = "Г" Тогда
         Фрагмент = "";
         Если ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ЗаказНаряд") Тогда
            ГосНомер =  РегистрыСведений.Автомобили.ПолучитьПоследнее(ДокументСсылка.Дата,Новый Структура("Автомобиль,ВидЗначения",ДокументСсылка.Автомобиль,Перечисления.ДополнительнаяИнформацияАвтомобилей.ГосНомер)).Значение;
            Если ТипЗнч(ГосНомер) = Тип("Строка") И Не ПустаяСтрока(ГосНомер) Тогда
               Фрагмент = СокрЛП(ГосНомер);
            КонецЕсли;
         ИначеЕсли ТипЗнч(ДокументСсылка) = Тип("ДокументСсылка.ЗаявкаНаРемонт") Тогда
            //Фрагмент = СокрЛП(ДокументСсылка.ГосНомер);
            Фрагмент = ДокументСсылка.ГосНомер;
         КонецЕсли;


вот тут на сокрЛП ещё 3% времени можно сэкономить. хотя спорно, но показатели понизились.
Ну вбили они коряво - может не всем пойдет, но итого мы уже почти на 10% быстрее формируем.
Изменено: Владимир Борисов - 11.01.2015 20:30:49
 
Добрый день, Владимир, Ваши предложения переданы разработчикам.
 
:)
А зачем лишняя функция?
Тут собственно ошибка что в цикле обращаются.
Достаточно вынести перед циклом этот код
ОбластьЯчейкаСтроки = Макет.ПолучитьОбласть("СтрокаТаблицыГруппировка|КолонкаРабочееМесто");
 
Цитата
Дуганов Александр Юрьевич пишет:
 
А зачем лишняя функция?
Тут собственно ошибка что в цикле обращаются.
Достаточно вынести перед циклом этот код
ОбластьЯчейкаСтроки = Макет.ПолучитьОбласть("СтрокаТаблицыГруппировка|КолонкаРабочееМесто");
Они там с ячейкой так издеваются по параметрам, что проще получить новую - пустую.
Страницы: 1
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С