|
Как получить данные с учетом отбора из табличного поля? | ☑ | ||
---|---|---|---|---|
0
sanches2
24.11.11
✎
15:29
|
Привет. 8.1. Есть табличное поле. Источником данных для него слкжит табличная часть обработки. В табличную часть выгружаются документы и их суммы. У меня на форме есть текстовое поле, где по определенному алгоритму (зависящему от состава строк табличной части) идет расчет суммы. Все хорошо до момента когда делают отбор прямо в табличном поле. Моя сумма при этом не пересчитывается. Как получить из табличного поля все данные о документах с четом отбора?
Вот я нашел процедуру ПриПолученииДанных, в ней есть мое табличное поле, данные об его отборе, а как получить сумму документов исходя из отбора? Думал уже находить строки в табличной части исходя из отбора табличного поля, но там что угодно может быть указано (интервал между...), а строки в табличной части ищутся вроде как по равенству. И еще, у меня есть в подвале табличного поля вывод общей суммы документов. Значение в нем я проставляю через ЭлементыФормы... В свойствах колонки не нашел что-то чтобы автоматом считался итог, есть такая возможность? |
|||
1
aleks-id
24.11.11
✎
15:33
|
||||
2
ptiz
24.11.11
✎
15:33
|
Построитель = Новый ПостроительОтчета;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабПоле.Значение); Для каждого ЭлементОтбора Из ТабПоле.ОтборСтрок Цикл Если ЭлементОтбора.Использование Тогда НовыйЭлемент = Построитель.Отбор.Добавить(ЭлементОтбора.ПутьКДанным, ЭлементОтбора.Имя, ЭлементОтбора.Представление); НовыйЭлемент.ВидСравнения = ЭлементОтбора.ВидСравнения; НовыйЭлемент.Значение = ЭлементОтбора.Значение; НовыйЭлемент.ЗначениеС = ЭлементОтбора.ЗначениеС; НовыйЭлемент.ЗначениеПо = ЭлементОтбора.ЗначениеПо; НовыйЭлемент.Использование = Истина; КонецЕсли; КонецЦикла; РезультатЗапроса = Построитель.Результат; ТЗ = РезультатЗапроса.Выгрузить(); ТЗ.ВыбратьСтроку(); |
|||
3
sanches2
24.11.11
✎
15:33
|
Спасибо
|
|||
4
aleks-id
24.11.11
✎
16:22
|
(2) а зачем ты в цикле отбор обходишь то?
|
|||
5
ptiz
24.11.11
✎
16:29
|
(4) А как иначе?
|
|||
6
sanches2
24.11.11
✎
19:11
|
(6)
Вот из (1). Правда я сам пока слабо понимаю как это работает :) Построитель = Новый ПостроительЗапроса; Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ДокументСписокРеализацияТоваров); Результат = Построитель.Результат; //отобранные строки типа РезультатЗапроса тзБуф = Результат.Выгрузить(); |
|||
7
Живой Ископаемый
24.11.11
✎
19:44
|
2(6) так у тебя ТЗ или Список? если список то отбор сразу идет довескомв источник данных. А с тЗ - не помню
|
|||
8
sanches2
24.11.11
✎
22:00
|
Источником данных для табличного поля является Табличная часть обработки.
|
|||
9
Живой Ископаемый
24.11.11
✎
22:20
|
пробовать нужно или читать СП... :) на память только <зачеркнуто>задроты</зачеркнуто> профессионалы знают...
|
|||
10
sanches2
24.11.11
✎
22:25
|
Ага, попробую. Не успел проверить еще.
|
|||
11
sanches2
25.11.11
✎
10:29
|
В итоге подошел вариант (2). Если не делать обход в цикле, то выходит таблица без учета отбора.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |