|
посчитать сумму выбранных строк в регистре сведений | ☑ | ||
---|---|---|---|---|
0
lucifer
02.08.12
✎
16:31
|
в форме списка регистра сведений пишу такой код
&Насервере Функция ПолучитьСумму(КлючЗаписи) МЗ = РегистрыСведений.Зарп_Движение.СоздатьНаборЗаписей(); МЗ.Отбор.регистратор.установить(Регистратор); МЗ.Прочитать(); Возврат МЗ[0].Сумма; // в таком случаи вернется сумма всегда первой строки КонецФункции &НаКлиенте Процедура Сумма(Команда) Строки = Элементы.Список.ВыделенныеСтроки; Сумма = 0; Для каждого Строка из Строки Цикл Сумма = Сумма + ПолучитьСумму(Строка); КонецЦикла; КонецПроцедуры как бы получить сумму именно выделенной строки? |
|||
1
Mort
02.08.12
✎
16:35
|
У тебя уже есть на клиенте эти значения. Зачем на сервер лезть?
|
|||
2
lucifer
02.08.12
✎
16:36
|
(1) нет на клиенте ничего, на клиенте РегистрСведенийКлючЗаписи а как из него вытащить сумму?!
|
|||
3
Kashemir
02.08.12
✎
16:41
|
&Насервере
Функция ПолучитьСумму(КлючЗаписи) Запрос = Новый Запрос("ВЫБРАТЬ | СУММА(РС.Сумма) КАК Сумма |ИЗ | РегистрСведений.Зарп_Движение КАК РС |ГДЕ | РС.Регистратор = &Регистратор"); Запрос.УстановитьПараметр("Регистратор", КлючЗаписи); Выборка = Запрос.Выполнить().Выбрать(); Возврат ?(Выборка.Следующий(), Выборка.Сумма, 0); КонецФункции |
|||
4
Mort
02.08.12
✎
16:41
|
ДанныеСтроки()
|
|||
5
lucifer
02.08.12
✎
16:43
|
(4) как использовать?
|
|||
6
Mort
02.08.12
✎
16:44
|
(5) Найти в СП, распечатать и курить до просветления.
|
|||
7
lucifer
02.08.12
✎
16:45
|
(3) КлючЗаписи - это не регистратор
|
|||
8
lucifer
02.08.12
✎
16:45
|
+ (7) КлючЗаписи - это РегистрСведенийКлючЗаписи
|
|||
9
Kashemir
02.08.12
✎
16:46
|
(7) Тогда твой пример функции не корректен.
|
|||
10
lucifer
02.08.12
✎
16:46
|
(6) а ничего если у меня список это не таблица а динамическийсписок ?
|
|||
11
Kashemir
02.08.12
✎
16:47
|
(8) Собрать свое условие отбора по ключу для запроса тоже не проблема.
|
|||
12
lucifer
02.08.12
✎
16:47
|
(9) моя ф-я работает, значение возвращается, только не той строки
|
|||
13
Mort
02.08.12
✎
16:47
|
(10) главное - не боятся. И всё получится.
|
|||
14
Mort
02.08.12
✎
16:47
|
+(13) боятЬся
|
|||
15
lucifer
02.08.12
✎
16:48
|
(3) к тому же таким отбором выберутся все записи регистратора, а мне этого не нужно
|
|||
16
Kashemir
02.08.12
✎
16:48
|
(12) В контексте (8) твоя не может работать. Она использует для отбора некий регистратор и забивает на параметр ключа.
|
|||
17
Kashemir
02.08.12
✎
16:49
|
Ааа понял. Так Морт тебе все по делу написал.
|
|||
18
lucifer
02.08.12
✎
16:50
|
(14) Процедура или функция с указанным именем не определена (ДанныеСтроки)
использую на клиенте |
|||
19
Kashemir
02.08.12
✎
16:50
|
(18) Наверно потому что это не процедура и не функция.
|
|||
20
lucifer
02.08.12
✎
16:51
|
(17) да, КлючЗаписи я не придумал как прикрутить, поэтому в примере я его не использую
|
|||
21
Kashemir
02.08.12
✎
16:51
|
(19) Хотя вру
ТаблицаФормы.ДанныеСтроки (FormTable.RowData) ТаблицаФормы (FormTable) ДанныеСтроки (RowData) Синтаксис: ДанныеСтроки(<Строка>) Параметры: <Строка> (обязательный) Тип: Произвольный. Строка таблицы, данные которой необходимо получить. Тип параметра зависит от типа редактируемого значения. Возвращаемое значение: Тип: ДанныеФормыСтруктура; ДанныеФормыЭлементДерева; ДанныеФормыЭлементКоллекции. Для таблиц, связанных с разными типами данных, тип возращаемого значения данного метода может различаться: Для динамического списка тип свойства - ДанныеФормыСтруктура; Для дерева значений - ДанныеФормыЭлементДерева; Для остальных (таблица значений, табличные части и др.) - ДанныеФормыЭлементКоллекции. Описание: Возвращает значение, содержащее данные указанной строки. Доступность: Тонкий клиент, веб-клиент, толстый клиент. |
|||
22
lucifer
02.08.12
✎
16:54
|
все просто оказаласть )))
Mort спасибо. |
|||
23
lucifer
02.08.12
✎
16:57
|
Kashemir и тебе спасибо )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |