Имя: Пароль:
1C
 
Скорость заполнения ТЗ
0 Orfin
 
27.01.17
11:04
Внешняя обработка с тз 10ю реквизитами типа число.
Заполнение на сервере и клиенте отличается по времени, на сервере дольше раза в 2-3, почему? Файловая база, 1 пользователь, тонкий клиент.

&НаКлиенте
Процедура Сервер(Команда)
    нач = ТекущаяДата();
    ЗаполнитьНаСервере();
    кон = ТекущаяДата();
    Сообщить("Длительность сервер " + (кон - нач));
КонецПроцедуры


&НаСервере
Процедура ЗаполнитьНаСервере()
        
    Объект.ТабличнаяЧасть1.Очистить();
    
    Для Сч = 1 По 100000 Цикл
        
        НовСтр = Объект.ТабличнаяЧасть1.Добавить();
        НовСтр.Реквизит1 = 12345;
        НовСтр.Реквизит2 = 12345;
        НовСтр.Реквизит3 = 12345;
        НовСтр.Реквизит4 = 12345;
        НовСтр.Реквизит5 = 12345;
        НовСтр.Реквизит6 = 12345;
        НовСтр.Реквизит7 = 12345;
        НовСтр.Реквизит8 = 12345;
        НовСтр.Реквизит9 = 12345;
        НовСтр.Реквизит10 = 12345;        
        
    КонецЦикла;
    

КонецПроцедуры

&НаКлиенте
Процедура Клиент(Команда)
    нач = ТекущаяДата();
        
    Объект.ТабличнаяЧасть1.Очистить();
    
    Для Сч = 1 По 100000 Цикл
        
        НовСтр = Объект.ТабличнаяЧасть1.Добавить();
        НовСтр.Реквизит1 = 12345;
        НовСтр.Реквизит2 = 12345;
        НовСтр.Реквизит3 = 12345;
        НовСтр.Реквизит4 = 12345;
        НовСтр.Реквизит5 = 12345;
        НовСтр.Реквизит6 = 12345;
        НовСтр.Реквизит7 = 12345;
        НовСтр.Реквизит8 = 12345;
        НовСтр.Реквизит9 = 12345;
        НовСтр.Реквизит10 = 12345;        
        
    КонецЦикла;      
    
    кон = ТекущаяДата();
    Сообщить("Длительность клиент " + (кон - нач));
    
КонецПроцедуры
1 Неверный Параметр И
 
27.01.17
11:19
Потому что ты замеряешь время передачи контекста с клиента на сервер и обратно. На 100500 записей.
Результат немного предсказуем.
2 Веселый Джузеппе
 
27.01.17
11:32
(1) вроде как в первом случае он ничего не передает, заполнение полностью на сервере написано.
3 Повелитель
 
27.01.17
11:41
(0) На то он и сервер, чтобы считать надежно, перепроверяет все 2-3 раза, потом результат выдает. Оттуда и время в 2-3 раза дольше.
Не то, что клиент, посчитал, и выдал на отвяжись.
4 Fragster
 
гуру
27.01.17
11:51
(2) а Объект туда-сюда не ходит, чтоли?
5 Diman000
 
27.01.17
11:57
Если без контекста на сервер передавать муторно и лениво, то предварительная очистка ТЧ должна выполняться на клиенте.
Иначе на сервер зачем-то ползет предзаполненная ТЧ.
6 Diman000
 
27.01.17
11:58
(4) Ходит. А еще заполненные 100500 строк с сервера на клиент передаются после заполнения.
7 ks_83
 
27.01.17
12:03
Это неверное потому, что никакого сервера на самом деле нет.
8 Diman000
 
27.01.17
12:11
А ну да, может и нет.
Я файловую базу уже лет 10 не юзал в рабочем режиме. Все что я написал в первую очередь к клиент-серверной относится.
9 Orfin
 
01.02.17
10:04
вверх