|
v7: Помогите с примерами по работе с Индексированной таблицей | ☑ | ||
---|---|---|---|---|
0
Volodja
08.04.21
✎
10:27
|
Запутался при использовании методов:
тмпДиаграмма - Индексированная таблица тмпДиаграмма.ДобавитьИндекс("Точка","Точка"); тмпДиаграмма.УстановитьФильтр(ЗначениеОтбораДиаграммы,ЗначениеОтбораДиаграммы,"Точка"); тмпДиаграмма.Свернуть("Дата","наРукиЗалог,наРукиПереЗалог,Возвращено,Процент,Пеня","Точка"); У меня программа ушла в космос на Свернуть() Нужно чтобы на выходе получилась свернутая таблица по дате для заданной точки |
|||
1
Ёпрст
08.04.21
✎
10:52
|
||||
2
Ёпрст
08.04.21
✎
10:53
|
ИмяСуществующегоИндекса - тип: Стрка, Число. Если указано имя индекса, то КолонкиСвёртки игнорируются, а свёртка осуществляется по указанному индексу. В свёртке учавствуют только те строки, которые входят в фильтр.
|
|||
3
Volodja
08.04.21
✎
10:56
|
(2) А куда тогда Дата денется или что с ней будет? Мне нужно чтобы по дате колонки свернулись для заданной точки (ЗначениеОтбораДиаграммы)
|
|||
4
Ёпрст
08.04.21
✎
10:56
|
ну и вот это
наРукиЗалог,наРукиПереЗалог,Возвращено,Процент,Пеня"," - всё числовые колонки, надеюсь ? |
|||
5
Volodja
08.04.21
✎
10:57
|
(4) Да
|
|||
6
Volodja
08.04.21
✎
10:58
|
(1) *.als есть у меня.
Примеров нет. |
|||
7
Ёпрст
08.04.21
✎
10:59
|
(3)
смотри в сторону https://www.1cpp.ru/docum/icpp/html/IndexedTable.html#group |
|||
8
Volodja
08.04.21
✎
11:03
|
Блин. Я думал, раз наложил фильтр, то и таблица видит только то, что мне нужно.
А в ней как-то заморочено. Проще запросом выбрать |
|||
9
Volodja
08.04.21
✎
11:07
|
(3) сделал так:
тмпДиаграмма.Свернуть("","наРукиЗалог,наРукиПереЗалог,Возвращено,Процент,Пеня","Точка"); тоже самое. В космосе. |
|||
10
Ёпрст
08.04.21
✎
11:11
|
(9)
тмпДиаграмма.Свернуть("Дата","наРукиЗалог,наРукиПереЗалог,Возвращено,Процент,Пеня"); |
|||
11
Volodja
08.04.21
✎
11:12
|
(10) пробовал. Тогда фильтр вообще не учитывается, как будто и не устанавливал
|
|||
12
Volodja
08.04.21
✎
11:15
|
(10) Виноват
тмпДиаграмма.ДобавитьИндекс("Точка","Точка"); тмпДиаграмма.УстановитьФильтр(ЗначениеОтбораДиаграммы,ЗначениеОтбораДиаграммы,"Точка"); тмпДиаграмма.Свернуть("Дата","наРукиЗалог,наРукиПереЗалог,Возвращено,Процент,Пеня"); Тоже висит |
|||
13
Ёпрст
08.04.21
✎
11:19
|
(11) короче, самое простое, это Группировать.. и имеешь свернутую как надо табличку со всеми показателями, потом уже на неё или фильтр, или найти строку по индексу.
Ну или ИтогПоУзлу использовать после поиска строки |
|||
14
Volodja
08.04.21
✎
11:21
|
(10) снова виноват, не сохранил обработку
тмпДиаграмма.ДобавитьИндекс("Точка","Точка"); тмпДиаграмма.УстановитьФильтр(ЗначениеОтбораДиаграммы,ЗначениеОтбораДиаграммы,"Точка"); тмпДиаграмма.Свернуть("Дата","наРукиЗалог,наРукиПереЗалог,Возвращено,Процент,Пеня"); Не висит,Но фильтр не накладывает |
|||
15
Volodja
08.04.21
✎
11:22
|
Может 1С++ старый?
у меня 3.2.4.0 rc1 |
|||
16
Volodja
08.04.21
✎
11:23
|
от 18.03.2012
|
|||
17
Ёпрст
08.04.21
✎
11:25
|
Ну и е5сли хочешь свернутььб, то
<КолонкиСумм> из таблицы не удаляются. Свёртка возможна и по существующему индексу - при этом не теряется время на построение временного индекса, и возможна выборочная свёртка по текущему фильтру индекса. Тебе нужно ДобавитьИндекс("Вася","Точка,Дата"); УстановитьЗначениеФильтра... Свернуть(,"твои числовые","Вася") |
|||
18
Volodja
08.04.21
✎
11:26
|
(17) Ок. Попробую. Тоже предполагаю, что в индексе и фильтре дата нужна
|
|||
19
Ёпрст
08.04.21
✎
11:30
|
Или
Индекс по точке, ставишь фильтр и выгружаешь по этому фильтру в другую тз, и там сворачивыаешь. Но проще - группировать |
|||
20
Ёпрст
08.04.21
✎
11:30
|
и потом поиск в сгруппированной тз
|
|||
21
Volodja
08.04.21
✎
11:35
|
(20) так тоже висит:
_СЗмин=СоздатьОбъект("СписокЗначений"); _СЗмин.Установить("Точка",ЗначениеОтбораДиаграммы); _СЗмин.Установить("Дата",НачДата); _СЗмакс=СоздатьОбъект("СписокЗначений"); _СЗмакс.Установить("Точка",ЗначениеОтбораДиаграммы); _СЗмакс.Установить("Дата",КонДата); тмпДиаграмма.ДобавитьИндекс("ТочкаДата","Точка,Дата"); тмпДиаграмма.УстановитьФильтр(_СЗмин,_СЗмакс,"ТочкаДата"); тмпДиаграмма.Свернуть(,"наРукиЗалог,наРукиПереЗалог,Возвращено,Процент,Пеня","ТочкаДата"); |
|||
22
Volodja
08.04.21
✎
11:41
|
_СЗмин=СоздатьОбъект("СписокЗначений");
_СЗмин.Установить("Точка",ЗначениеОтбораДиаграммы); _СЗмин.Установить("Дата",НачДата); _СЗмакс=СоздатьОбъект("СписокЗначений"); _СЗмакс.Установить("Точка",ЗначениеОтбораДиаграммы); _СЗмакс.Установить("Дата",КонДата); тмпДиаграмма.ДобавитьИндекс("ТочкаДата","Точка,Дата"); тмпДиаграмма.УстановитьФильтр(_СЗмин,_СЗмакс,"ТочкаДата"); _тз=СоздатьОбъект("ТаблицаЗначений"); тмпДиаграмма.Выгрузить(_тз); _тз.ВыбратьСтроку(); Так фильтр тоже не учелся при выгрузке |
|||
23
Volodja
08.04.21
✎
11:43
|
Так сработало
тмпДиаграмма.Выгрузить(_тз,"ТочкаДата"); |
|||
24
Ёпрст
08.04.21
✎
11:46
|
(23) тут дату можешь не использовать в фильтре
|
|||
25
Ёпрст
08.04.21
✎
11:46
|
просто на точку.
|
|||
26
Ёпрст
08.04.21
✎
11:46
|
делай фильтр.
|
|||
27
Ёпрст
08.04.21
✎
11:46
|
Но проще, группировать - там имеешь всё стразу
|
|||
28
Volodja
08.04.21
✎
11:56
|
(27)
Так взлетело: тмпДиаграмма.ДобавитьИндекс("Точка","Точка"); тмпДиаграмма.УстановитьФильтр(ЗначениеОтбораДиаграммы,ЗначениеОтбораДиаграммы,"Точка"); _тз=СоздатьОбъект("ТаблицаЗначений"); тмпДиаграмма.Выгрузить(_тз,"Точка"); тмпДиаграмма=_тз; //подменяем ссылку тмпДиаграмма.Свернуть("Дата","наРукиЗалог,наРукиПереЗалог,Возвращено,Процент,Пеня"); Пришлось выгрузить |
|||
29
Ёпрст
08.04.21
✎
12:09
|
(28) а че ты группировать не хочешь ? Для каждой точки выгружать потом - накладно
|
|||
30
Volodja
08.04.21
✎
12:12
|
(29) сойдет через выгрузить. По времени не критично. Менее секунды
|
|||
31
Ёпрст
08.04.21
✎
12:28
|
(30) не..это не наш метод :)
|
|||
32
victuan1
08.04.21
✎
17:23
|
(0) а вообще задача какая стоит?
Сделать выбор типа диаграммы Диаграммы ? |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |