|
УФ. Табличная часть. Расчет выражения из значений в различных строках | ☑ | ||
---|---|---|---|---|
0
YF
09.07.12
✎
21:42
|
Есть УФ документа, на ней табличная часть документа.
При изменении значения реквизита в этой табличной части необходимо вывести в реквизит формы некое значение, оно расчитывается как сумма некоторых значений в некоторых строках этой ТЧ ... Как это реализовать? И возможно ли на клиенте или нужно будет на сервер ходить? |
|||
1
rotting
09.07.12
✎
22:11
|
Ау народ?
Я, например сходу не скажу способа чтоб на сервер не сбегать, толкайте идеи! |
|||
2
wade25
09.07.12
✎
22:18
|
(1) По значению элемента формы отловить изменение первого. Ну а на сервер по идее и не нада, т.к. все изменения коснутся лишь формы, конфа нет дома. Поэтому не уточню)
|
|||
3
YF
09.07.12
✎
22:19
|
(2) Как? Мне нужно будет пробежаться по строкам табличной части
|
|||
4
wade25
09.07.12
✎
22:24
|
(3) Лан, а чего бы и на сервер не сходить?)
|
|||
5
YF
09.07.12
✎
22:26
|
(4) А нафига на него бегать-то? 1С слишком быстро работает? :-)
|
|||
6
prosto-nik
09.07.12
✎
22:40
|
(0) а попробовать не пробовал)) прежде чем тему заводить?
|
|||
7
prosto-nik
09.07.12
✎
22:42
|
и в описании темы все как то прибдизительно
|
|||
8
ChAlex
09.07.12
✎
23:53
|
Все равно будет обращение к серверу (во всяком случае если число строк табличной части больше 40, а то и несколько если строк еще больше). Так что шкурка выделки не стоит - лучше сделать серверную процедуру (в таком случае 1 гарантированный вызов сервера вместе с установкой реквизита и возможно еще какими-то сервисными функциями вместо потенциально нескольких)
|
|||
9
sanja26
10.07.12
✎
01:28
|
(0) а в чем проблема-то? приИзменении больше нет чтоли? текСтрока есть, полученное значение есть...
|
|||
10
YF
10.07.12
✎
09:58
|
(6) Пробовал. Ты скажи как пройтись по строкам табличной части на клиенте
|
|||
11
YF
10.07.12
✎
10:00
|
(9) Нужно данные вычислять не только по текущей строке, но, при изменении значения в одной "ячейке" пересчитывать вычисленное значение анализируя все строки
|
|||
12
SUA
10.07.12
✎
10:12
|
(10)для каждого строкаданных из объект.товары?
|
|||
13
YF
10.07.12
✎
10:27
|
(12) Попробуй
|
|||
14
ChAlex
10.07.12
✎
19:10
|
(13) - а что там пробовать. Смотри хелп. Табличная часть объекта есть объект типа "ДанныеФормыКоллекция"
Из справки: ДанныеФормыКоллекция (FormDataCollection) Элементы коллекции: ДанныеФормыЭлементКоллекции Для объекта доступен обход коллекции посредством оператора Для каждого … Из … Цикл. При обходе выбираются элементы. Это касаемо доступности обхода на клиенте. А теперь касаемо целесообразности: При открытии формы с сервера на клиент передается 40(если не изменяет память) строк табличной части. То есть на клиенте большего количества нет. При обращении к данным за пределами этих 40 строк с сервера на клиент передаются данные блоками по 40 строк. Таким образом если вы пробегите по всем строкам то получите неявные обращения к серверу по-любому. Ну в ракурсе такого поведения формы - посчитайте - целесообразно ли использовать метод на клиенте. Если вы изменили одну строчк табличной части, а в табличной части допустим 100 строк и вам нужно теперь их все просмотреть для расчета итога то вы получите 3 серверных вызова, если же итог считать на сервере - то только 1!! И что вы выигрываете использованием клиентских процедур? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |