8.х Долго проводится документ

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем RuslanKhanow, 8 фев 2016.

  1. TopicStarter Overlay
    RuslanKhanow
    Offline

    RuslanKhanow Опытный в 1С

    Регистрация:
    18 фев 2015
    Сообщения:
    145
    Симпатии:
    0
    Баллы:
    26
    Документ "Сдельный Наряд" очень долго проводится
    Сделал замер производительности
    31%
    Код:
    
    Процедура ПроверкаСуществующихЗаписейРегистра(НаборЗаписей, СтруктураПараметров, Отказ)
       
        ИмяРегистра = СтруктураПараметров.МетаданныеНабора.ПолноеИмя();
       
        Запрос = Новый Запрос;
        Запрос.УстановитьПараметр("Регистратор", НаборЗаписей.Отбор.Регистратор.Значение);
       
        Запрос.Текст =
        "ВЫБРАТЬ ПЕРВЫЕ 1
        |    ИСТИНА КАК ЗначениеИстина
        |ИЗ
        |    &ТекущийРегистр КАК ТекущийРегистр
        |ГДЕ
        |    ТекущийРегистр.Регистратор = &Регистратор
        |    И &Условие";
       
        Запрос.Текст = СтрЗаменить(Запрос.Текст, "&ТекущийРегистр", ИмяРегистра);
        Запрос.Текст = СтрЗаменить(Запрос.Текст, "&Условие",
            "(" + УсловиеПроверкиСуществующихЗаписейРегистра(Запрос, СтруктураПараметров) + ")");
           
          
        Если НЕ Запрос.Выполнить().Пустой() Тогда
            Отказ = Истина;
        Иначе
            Отказ = Ложь;
        КонецЕсли;
       
    КонецПроцедуры
    
    
    и
    43%
    Код:
    
    Процедура ЗарегистрироватьПерерасчетыПоФактическойВыработке()
       
        Запрос = Новый Запрос(
        "ВЫБРАТЬ РАЗЛИЧНЫЕ
        |    Основные.ФизЛицо,
        |    Основные.Регистратор КАК Регистратор,
        |    Основные.Организация,
        |    Основные.Сотрудник
        |ИЗ
        |    РегистрНакопления.ФактическаяВыработкаРаботниковОрганизаций КАК ФактическаяВыработка
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций КАК Основные
        |        ПО ФактическаяВыработка.Период >= Основные.ПериодДействияНачало
        |            И ФактическаяВыработка.Период <= Основные.ПериодДействияКонец
        |            И (Основные.ВидРасчета.СпособРасчета = ЗНАЧЕНИЕ(Перечисление.СпособыРасчетаОплатыТруда.СдельныйЗаработок))
        |            И ФактическаяВыработка.Сотрудник = Основные.Сотрудник
        |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ОсновныеНачисленияРаботниковОрганизаций.ПерерасчетОсновныхНачислений КАК Перерасчеты
        |        ПО (Перерасчеты.ОбъектПерерасчета = Основные.Регистратор)
        |            И (Перерасчеты.ФизЛицо = Основные.ФизЛицо)
        |            И (Перерасчеты.ВидРасчета = ЗНАЧЕНИЕ(ПланВидовРасчета.ОсновныеНачисленияОрганизаций.ПустаяСсылка))
        |ГДЕ
        |    ФактическаяВыработка.Регистратор = &Регистратор
        |    И Перерасчеты.ФизЛицо ЕСТЬ NULL 
        |    И Основные.Регистратор ЕСТЬ НЕ NULL 
        |
        |УПОРЯДОЧИТЬ ПО
        |    Регистратор");
       
        Запрос.УстановитьПараметр("Регистратор", Отбор.Регистратор.Значение);
       
        Выборка = Запрос.Выполнить().Выбрать();
        ПроведениеРасчетов.ДописатьПерерасчетыОсновныхНачислений(Выборка);
       
    КонецПроцедуры
    
    
    УПП 1.3
    8.3
    клиент-сервер
    по времени занимал раньше примерно 20 мин максимум ,после перехода с 8.2 на 8.3 проведение доков с большим объемом данных может длиться часами
    может можно как то оптимизировать?
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну в первом случае я дкумаю надо смотреть что вот тут
    УсловиеПроверкиСуществующихЗаписейРегистра(Запрос, СтруктураПараметров)

    Ну и вообще надо наализировать есть ли у Вас ограничение на уровне записей. может включили и не используете . если клиент сервер то проходял ли регламентированныео операции по сборустатичстике и обновлению индексов.
    Как прирост файлов идет и т.д
  3. TopicStarter Overlay
    RuslanKhanow
    Offline

    RuslanKhanow Опытный в 1С

    Регистрация:
    18 фев 2015
    Сообщения:
    145
    Симпатии:
    0
    Баллы:
    26
    Сделал замер времени еще раз
    На эту процедуру 97% времени теперь уходит
    Код:
    Процедура ЗаписатьНаборЗаписейНаСервере(ИмяРегистра, Регистратор, ТаблицаДвижений = Неопределено, ТипРегистра = "РегистрНакопления") Экспорт
      
        Если ТипРегистра = "РегистрНакопления" Тогда
            Набор = РегистрыНакопления[ИмяРегистра].СоздатьНаборЗаписей();
          
            Если ТаблицаДвижений <> Неопределено Тогда
                Набор.мТаблицаДвижений = ТаблицаДвижений;
                ОбщегоНазначения.ВыполнитьДвижениеПоРегистру(Набор);      
            КонецЕсли;
          
        Иначе
            Если ТипРегистра = "РегистрБухгалтерии" Тогда
                Набор = РегистрыБухгалтерии[ИмяРегистра].СоздатьНаборЗаписей();
            ИначеЕсли ТипРегистра = "РегистрСведений" Тогда
                Набор = РегистрыСведений[ИмяРегистра].СоздатьНаборЗаписей();
            ИначеЕсли ТипРегистра = "РегистрРасчета" Тогда
                Набор = РегистрыРасчета[ИмяРегистра].СоздатьНаборЗаписей();
            КонецЕсли;
          
            Если ТаблицаДвижений <> Неопределено Тогда
                Набор.Загрузить(ТаблицаДвижений);
            КонецЕсли;
        КонецЕсли;
      
        Набор.Отбор.Регистратор.Установить(Регистратор);
        Набор.Записать();
      
    КонецПроцедуры
    
    
    Конкретно Набор.Записать()
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну смотрите как у Вас прирост файлов на сервере . может там скулую указали по 1 мб выделять им он каждый раз вместо того что бы писать - занимается выделением времени.
  5. TopicStarter Overlay
    RuslanKhanow
    Offline

    RuslanKhanow Опытный в 1С

    Регистрация:
    18 фев 2015
    Сообщения:
    145
    Симпатии:
    0
    Баллы:
    26
    подскажите пожалуйста где это смотреть,я в администрировании плохо разбираюсь ,если можете со скринами,спасибо
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну скуль Вы администрировали? или администрируете?
  7. TopicStarter Overlay
    RuslanKhanow
    Offline

    RuslanKhanow Опытный в 1С

    Регистрация:
    18 фев 2015
    Сообщения:
    145
    Симпатии:
    0
    Баллы:
    26
    лично я нет,админа спросил он не в курсе что это
  8. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.782
    Симпатии:
    509
    Баллы:
    204
    Зачетный админ :D
  9. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.649
    Симпатии:
    948
    Баллы:
    204
    Ну пусть тогда почитает для чего вот эта колонка

    Вложения:

    • 1111.jpg
      1111.jpg
      Размер файла:
      73,2 КБ
      Просмотров:
      7

Поделиться этой страницей