|
ПостроительОтчетов | ☑ | ||
---|---|---|---|---|
0
Alpachino
16.04.13
✎
11:35
|
Ребята, подскажите пожалуйста как в Построителе отчетов можно сделать номер п/п!? Макет написанный. Пробовал как Книга знаний: v8: Нумерация строк в запросе не помогает запрос тяжелый, да и номерацию проставляется не по порядку.
|
|||
1
х86
16.04.13
✎
11:36
|
количество строк много?
|
|||
2
Alpachino
16.04.13
✎
11:39
|
(1) Номенклатура вытягивается из рег.Хозрасчетных. А там по последовательности в разброс.
|
|||
3
Skylark
16.04.13
✎
11:59
|
А почему построитель? Это давно не модно. Делай на СКД он там сам в системных полях номер п/п предлагает.
|
|||
4
бомболюк
16.04.13
✎
11:59
|
я после формирования табличного документа делаю. при формировании вывожу в то место где нужен номер строки символ "#", а потом:
// нумеруем строки к = 0; ОбластьПоиска = ТабличныйДокумент.Область(1,2,ТабличныйДокумент.ВысотаТаблицы,2); Ячейки = ТабличныйДокумент.НайтиТекст("#", , ОбластьПоиска, Ложь, Истина, Истина, Истина); Пока Ячейки <> Неопределено цикл к = к + 1; Ячейки.Текст = "" + к; Ячейки = ТабличныйДокумент.НайтиТекст("#", Ячейки, ОбластьПоиска, Ложь, Истина, Истина, Истина); КонецЦикла; |
|||
5
GANR
16.04.13
✎
12:01
|
(0) Переделать на СКД - вот нормальный вариант.
|
|||
6
Alpachino
16.04.13
✎
12:33
|
(3) Я знаю что не модно. Но отчет работает отлично, времени нету все перетаскивать туда.
|
|||
7
Alpachino
16.04.13
✎
12:37
|
(4) сейчас попробую твоим методом. я так то пробовал
ПостроительОтчетаДанныеОДвиженииМТР.Вывести(ЭлементыФормы.ПолеТабличногоДокумента); //Номер по порядку НПП = 0; Номер = 1; Пока Номер <= ЭлементыФормы.ПолеТабличногоДокумента.ВысотаТаблицы Цикл Если ЭлементыФормы.ПолеТабличногоДокумента.Область(Номер, 2, Номер,2).Текст = "" Тогда НПП = НПП + 1; ЭлементыФормы.ПолеТабличногоДокумента.Область(Номер, 2, Номер, 2).Текст = ""+ НПП; КонецЕсли; Номер = Номер + 1; КонецЦикла; Он мне определяет высоту таблицы с заголовка отчета |
|||
8
Alpachino
16.04.13
✎
12:37
|
(5) Долго, а времени нет
|
|||
9
Alpachino
16.04.13
✎
13:47
|
(4) ОбластьПоиска = ТабличныйДокумент.Область(1,2,ТабличныйДокумент.ВысотаТаблицы,2);
1,2, ТабличныйДокумент.ВысотаТаблицы - понятно. а 2- это что, а то не могу подогнать???????????????? |
|||
10
бомболюк
16.04.13
✎
14:07
|
номер колонки, где номера строк у меня. СП читай.
|
|||
11
Ёпрст
16.04.13
✎
14:16
|
можно и в самом запросе перенумеровать
|
|||
12
Alpachino
16.04.13
✎
14:16
|
(10) бомболюк Благодарю.
|
|||
13
Ёпрст
16.04.13
✎
14:20
|
ВЫБРАТЬ
Табличка1.Ссылка, Количество(Табличка2.Ссылка) как НумерПОПорядку ИЗ (ВЫБРАТЬ Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура) КАК Табличка1 Внутреннее соединение (ВЫБРАТЬ Номенклатура.Ссылка КАК Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура) КАК Табличка2 По Табличка1.Ссылка>Табличка2.Ссылка Сгруппировать по Табличка1.Ссылка Упорядочить по НумерПОПорядку |
|||
14
бомболюк
16.04.13
✎
14:21
|
(13) для больших выборок не годится, будет безбожно тормозить.
|
|||
15
Alpachino
16.04.13
✎
14:39
|
(13) Пробовал, результат не устраивает, номер не порядку проставляет.
|
|||
16
Ёпрст
16.04.13
✎
15:10
|
(15) дыу упорядочивание же есть - упорядочи наборы ДО группировки - будет быстро.
Можешь еще и во временную положить |
|||
17
GANR
16.04.13
✎
16:07
|
(16) То есть, в таблицу значений выгрузить и сортировать? тогда уж проще в ТЗ и пронумеровать.
А как внутри запроса ДО группировки упорядочить??? Можно индексировать поля ВТ, но зачем? Ссылка - это, вроде, кластерный индекс. По крайней мере, у меня этот запрос (~3500 нумеруемых элементов) ----------------------------- ВЫБРАТЬ МойДокумент.Ссылка КАК Ссылка ПОМЕСТИТЬ МойДокумент ИЗ Документ.МойДокумент КАК МойДокумент ИНДЕКСИРОВАТЬ ПО Ссылка ; //////////////////////////////////////////////////////////////////////////////// ВЫБРАТЬ МойДокумент_1.Ссылка, КОЛИЧЕСТВО(*) КАК НомерПоПорядку ИЗ МойДокумент КАК МойДокумент_1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ МойДокумент КАК МойДокумент_2 ПО МойДокумент_1.Ссылка >= МойДокумент_2.Ссылка СГРУППИРОВАТЬ ПО МойДокумент_1.Ссылка УПОРЯДОЧИТЬ ПО НомерПоПорядку ----------------------------- и вот этот ----------------------------- ВЫБРАТЬ МойДокумент_1.Ссылка, КОЛИЧЕСТВО(*) КАК НомерПоПорядку ИЗ Документ.МойДокумент КАК МойДокумент_1 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.МойДокумент КАК МойДокумент_2 ПО МойДокумент_1.Ссылка >= МойДокумент_2.Ссылка СГРУППИРОВАТЬ ПО МойДокумент_1.Ссылка УПОРЯДОЧИТЬ ПО НомерПоПорядку ----------------------------- примерно одинаково медленно выполняются. Или в (16) имеется ввиду что-то другое? |
|||
18
Ёпрст
16.04.13
✎
17:05
|
(17) дык каждый подзапрос упорядочи по наименованию, к примеру.
|
|||
19
GANR
16.04.13
✎
17:20
|
(18) Но если верить конструктору запросов, то http://ximage.ru/data/imgs/1366118369.jpg
|
|||
20
GANR
16.04.13
✎
17:37
|
+(19) Временные таблицы также нельзя упорядочивать - индексировать только
|
|||
21
Ёпрст
16.04.13
✎
17:44
|
Надо погиграться со снеговиком - лень
|
|||
22
GANR
16.04.13
✎
17:46
|
(21) Ну, в MS SQL-то можно, конечно http://www.sql-tutorial.ru/ru/book_ranking_functions.html.
|
|||
23
Ёпрст
16.04.13
✎
17:48
|
в скуле (начиная с 2005) всё делается проще - там есть row_number в over
|
|||
24
GANR
16.04.13
✎
17:50
|
(23) Да там целый комплекс функций для нумерации по порядку.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |