|
Как оптимизировать процедуру клиента и серверную функцию? | ☑ | ||
---|---|---|---|---|
0
temsa
25.08.13
✎
12:23
|
Есть процедура и функция на сервере.
Хочу чтобы на сервер не шли ото и список. Те.е вместо &НаСервере хочу &НаСервереБезКонтекста Но не получается. Стоит ли заморачиватся? Овчинка выделки стоит??? У меня иногда отображение на клиенте фото идет 8-9 секунд. &НаКлиенте Процедура ВнешнееСобытие(Источник, Событие, Данные) Если СокрЛП(Данные) <> "" Тогда Результат = ОбработкаДанныхСотрудника(Данные); Если Результат = "" Тогда ЗаписатьДанныеОПитающимся(); Если СписокПоСотрудникам.Количество() > 4 тогда СписокПоСотрудникам.Удалить(0); Элементы.СписокПоСотрудникам.ТекущаяСтрока = СписокПоСотрудникам.Количество(); Иначе Элементы.СписокПоСотрудникам.ТекущаяСтрока = СписокПоСотрудникам.Количество()-1; КонецЕсли; ИначеЕсли Результат = -1 Тогда стр = "Выбранный сотрудник уже питался в текущий период !!!"; Строка1 = Новый ФорматированнаяСтрока(стр, Новый Шрифт(,15,Истина,Ложь),WebЦвета.Красный); Предупреждение(Строка1, 5, "Состояние"); АдресФото = ПоместитьВоВременноеХранилище(БиблиотекаКартинок.Ложка); Иначе Элементы.СписокПоСотрудникам.ТекущаяСтрока = Результат; КонецЕсли; Если глПодключаемоеОборудование.Статус Тогда глПодключаемоеОборудование.Включить(); КонецЕсли; КонецЕсли; КонецПроцедуры и еще &НаСервере Функция ОбработкаДанныхСотрудника(Данные) тСотрудник = Справочники.ФизическиеЛица.НайтиПоРеквизиту("ЭлектронныйКодСотрудника", СокрЛП(Данные)); Если тСотрудник.Пустая() Тогда ТекущийСотрудник = Справочники.ФизическиеЛица.ПустаяСсылка(); АдресФото = ""; Элементы.ОбщаяИнформация.Заголовок = "Сотрудник не определен"; Возврат "Код сотрудника не зарегистрирован в базе данных"; Иначе оСотрудник = тСотрудник.ПолучитьОбъект(); АдресФото = ПолучитьНавигационнуюСсылку(оСотрудник.ФайлИзображения,"Хранилище"); Элементы.ОбщаяИнформация.Заголовок = тСотрудник.Наименование; Элементы.ФотоСотрудника.РазмерКартинки = РазмерКартинки.Растянуть; .... ТекущийСотрудник = тСотрудник; .... КонецЕсли; КонецФункции |
|||
1
temsa
25.08.13
✎
12:24
|
" не шли ото" читать "не шли Фото"
|
|||
2
temsa
25.08.13
✎
18:32
|
тишинаа
|
|||
3
GROOVY
25.08.13
✎
19:10
|
Так тут на сервер все данные формы сейчас передаются. Вопрос то в чем?
|
|||
4
temsa
25.08.13
✎
21:03
|
(3) Спасибо Паша что отозвался.
Дело в том что у меня столовая там где проходят по картам питаются от сервера в 60 ти метрах сеть организован через радиосеть. Когда сотрудник проводит карточку в ридере то отображение его фото и фамилии можно ждать от 1-3 до 8-9 секунд. Если это было бы 1-3 сенкуды былобы вполне. Но 8-9 секунд это очень долго. Вот я и решил заняться оптимизацией кода. Но что-то не очень в этом продвинулся. Полагаю НА сервер едет и текущая фоо ведь так? не получается переделать НаСервереБезКонтескта. |
|||
5
temsa
25.08.13
✎
21:05
|
"Полагаю НА сервер едет и текущая фото ведь так?"
|
|||
6
temsa
25.08.13
✎
21:08
|
||||
7
nightowl
25.08.13
✎
21:09
|
(4)
А по Отладчику где ЗАДЕРЖКА? |
|||
8
temsa
25.08.13
✎
21:24
|
82 тСотрудник = Справочники.ФизическиеЛица.НайтиПоРеквизиту("ЭлектронныйКодСотрудника", СокрЛП(Данные)); 1 3,704081 34,50
38 СписокПоСотрудникам.Добавить(ТекущийСотрудник, Формат(ТекущаяДата(), "ДЛФ=В") + ", " + ТекущийСотрудник); 1 1,340278 12,48 30 Результат = ОбработкаДанныхСотрудника(Данные); 1 0,237650 2,21 |
|||
9
temsa
25.08.13
✎
21:27
|
А вот реквизит "ЭлектронныйКодСотрудника" Не использует индексирование. От этого зависит скорось?
|
|||
10
nightowl
25.08.13
✎
21:30
|
(9) Справочники.ФизическиеЛица.НайтиПоРеквизиту("ЭлектронныйКодСотрудника", СокрЛП(Данные)) попробуй через Запрос.
|
|||
11
temsa
25.08.13
✎
21:31
|
(10) После замера я тоже об этом подумал
|
|||
12
GROOVY
25.08.13
✎
21:55
|
Фото не на сервер едет, а С сервера.
|
|||
13
GROOVY
25.08.13
✎
21:56
|
Сделай РИБ, и обмен раз в день.
|
|||
14
GROOVY
25.08.13
✎
21:56
|
По радиоканалу.... там скорость то нормальная?
|
|||
15
GROOVY
25.08.13
✎
21:57
|
Фотки зажми.
Да и функция ОбработкаДанныхСотрудника(Данные) почему контекстная? |
|||
16
temsa
25.08.13
✎
22:11
|
(12) То что с севера едет ясно. Но я размышляю так- в мемен вызова серверной функции вся форма с текущим фото на форме клиента тоже идет на сервер.
(13) Сначала думал переход с файловой в скуль даст прирос но пока не пробовал. Потом была мысля про Риб но меня отговаривают. ДА еще обмен нужен чаще тогда Хотя бы раз в час. Представьте себе сотрудник пошел кушать ему в столовой сказали вы не питаететсь у вас отключено право питание. О идет в кадры выясняет утресает. В итоге ему включают питание. Он бежит в столовую. А том РИБ не обменялся... (14) Купили хорошое оборудование. Не ообычный вайфай а точки доступа с каким-то закрытым протоколом. дЕкларировано 100 мб а реале меньше. (15) Фотки стараемся сжимать. "ОбработкаДанныхСотрудника" ТАк я и не могу его переделать Потому что некторые данные не доступняе становится. |
|||
17
temsa
25.08.13
✎
22:17
|
И еще самое ужасное то что первоначальная запуск базы длится оочень долго. НУ чуть ли 2-3 минуты.
|
|||
18
GROOVY
25.08.13
✎
22:25
|
1. На сервер переезжайте. Файловый вариант - не вариант.
2. Замеряйте скорость. Почему запуск базы несколько минут? Тут может и антивирус чудить... |
|||
19
temsa
25.08.13
✎
22:39
|
(18) Антивирус У нас каспера админы поставили.
Выключал особого облегчения не увидел. Все-таки все равно каспера снесу. Всегда его недолюбливал. НА скуль перетащу на днях тогда и посмотрим. (10) Кстати, перевод на запрос вроде ускорило. Первый запрос почему-то дольше чем оычный а вто втрой раз и далее они более шустрые. |
|||
20
temsa
25.08.13
✎
22:40
|
Спасибо всем за советы.
Завтра отпишусь о результатах. |
|||
21
Злопчинский
26.08.13
✎
00:42
|
(19) кеширование наверное потому что - поэтому последующие разы быстрее
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |