|
Где лучше совершать вычисления? | ☑ | ||
---|---|---|---|---|
0
prazdnik4334
20.10.12
✎
16:03
|
Подскажите пожалуйста, где лучше производить вычисления с данными таблицы формы, на сервере или клиенте?
&НаКлиенте Процедура РасчитатьСебестоимость() Результат=ПолучитьВидРаспределенияРасходов(Объект.РаспределитьРасходы); Если Результат=0 Тогда Сообщить("Поле 'Распределить расходы' не заполнено"); ОтказЗаписи = Истина; Иначе Таб=Элементы.Товары; Таб.ТекущаяСтрока=0; Если Результат=1 Тогда Дельта = Окр((Объект.Расходы.Итог("Сумма")/Объект.Товары.Итог("Количество")), 2, 1); Пока Таб.ТекущаяСтрока<>Неопределено Цикл Таб.ТекущиеДанные.Себестоимость=Таб.ТекущиеДанные.ЦенаГрн+Дельта; Таб.ТекущиеДанные.СуммаСебестоимость=Таб.ТекущиеДанные.Себестоимость*Таб.ТекущиеДанные.Количество; Таб.ТекущаяСтрока=Таб.ТекущаяСтрока+1; КонецЦикла; Иначе Дельта = Окр((Объект.Расходы.Итог("Сумма")/Объект.Товары.Итог("Сумма")), 2, 1); Пока Таб.ТекущаяСтрока<>Неопределено Цикл Таб.ТекущиеДанные.Себестоимость=Таб.ТекущиеДанные.ЦенаГрн*(1+Дельта); Таб.ТекущиеДанные.СуммаСебестоимость=Таб.ТекущиеДанные.Себестоимость*Таб.ТекущиеДанные.Количество; Таб.ТекущаяСтрока=Таб.ТекущаяСтрока+1; КонецЦикла; КонецЕсли; ОтказЗаписи = Ложь; Сообщить("Сумма общая"+(Объект.Товары.Итог("Сумма")+Объект.Расходы.Итог("Сумма"))+"|Сумма себестоимость"+Объект.Товары.Итог("СуммаСебестоимость")); КонецЕсли Конецпроцедуры |
|||
1
vde69
20.10.12
✎
16:05
|
однозначно на сервере
|
|||
2
Мизантроп
20.10.12
✎
16:07
|
в облаке
|
|||
3
ДенисЧ
20.10.12
✎
16:07
|
(1) не всё так однозначно :-)
|
|||
4
vmv
20.10.12
✎
16:08
|
&НаКлиентеНаСервереБезКонтекта
такое делают умные люди, только не надо выть, что это не реально - сам так думал, дураком был |
|||
5
Мизантроп
20.10.12
✎
16:11
|
> &НаКлиентеНаСервереБезКонтекта
&НаКлиентеНаСервереБезКонтектаБезМозгов |
|||
6
Мизантроп
20.10.12
✎
16:11
|
+ (5) мой код даже парсер принимает!
|
|||
7
Юрий Лазаренко
20.10.12
✎
16:21
|
(0) Если Результат=0 Тогда - судя по этому ТС недавно с клюшек перешел на 8.2 )
По сабжу: 1. Результат=ПолучитьВидРаспределенияРасходов(Объект.РаспределитьРасходы); В этой процедуре происходит вызов сервера? Если да, то однозначно на сервере делать (все равно его вызов уже есть) 2. Пока Таб.ТекущаяСтрока<>Неопределено Цикл Пошел перебор срок циклом. Если строк немного, то можно и на клиенте. Если 10, 100, 800 - то однозначно на сервере. |
|||
8
vde69
20.10.12
✎
16:27
|
в тонком нужно старатся уменьшить количество передачи данных клиент-сервер, это самый главный принцеп построения нормальной системы.
Себестоимость не стоит расчитывать на клиента хотя-бы по тому, что - требуются данные с сервера. Ну и до кучи простой пример а = ....; б = ....; с = а/б; если а = с*б тогда // кривость расчета конецесли при выполнении на сервере в если мы никогда не попадем, а нпример в веб клиенте попадем при определенных параметрах а и б. по этому ВСЕ расчеты с математикой ВСЕГДА на сервере! |
|||
9
Юрий Лазаренко
20.10.12
✎
16:33
|
(8) Если надо рассчитать данные по одной строке и для этого не нужны цифры с сервера - то лучше на клиенте, тогда вызова сервера вообще не будет. Если цикл - то лучше на сервер.
|
|||
10
vde69
20.10.12
✎
16:38
|
(9) почитай v8: v8: получаю разное число (1коп) в web и тонком клиенте , только одно это дает однозначный запрет расчетов на клиенте
|
|||
11
aleks-id
20.10.12
✎
16:41
|
а почему никто не сказал что в (0) голимый копрокод?
|
|||
12
Fragster
гуру
20.10.12
✎
16:45
|
если автор крутит таблицу формы - то с клиента ему не уйти
|
|||
13
vde69
20.10.12
✎
16:46
|
(12) РеквизитФормыВЗначение
и работай на сервере сколько надо |
|||
14
Fragster
гуру
20.10.12
✎
16:47
|
(13) ага, через Таб.ТекущаяСтрока=Таб.ТекущаяСтрока+1;
|
|||
15
vde69
20.10.12
✎
16:47
|
(11) это и так всем ясно, зачем человека обижать?
|
|||
16
Fragster
гуру
20.10.12
✎
16:47
|
вы б сначала на код посмотрели
|
|||
17
aleks-id
20.10.12
✎
16:50
|
(15) почему обижать? наставить на путь истиный
|
|||
18
aleks-id
20.10.12
✎
16:52
|
(16) че там смотреть. копрокод. он табличную часть обрабатывает. однозначно на сервер выкинуть и там мутить. и код переписать.
|
|||
19
H A D G E H O G s
20.10.12
✎
21:40
|
код - херня.
Считать, если данные не нужны - на Тонком, Толстом, не на Вебе, Серверу и так найдется, чем занятся. |
|||
20
prazdnik4334
25.10.12
✎
10:40
|
Спасибо всем за слветы
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |