|
|
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста , можно ли после группировки в Group Header сделать так чтобы данные выводились в строчку. Обычно после группировки так. Код: plaintext 1. 2. 3. 4. Код: plaintext Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 16:58 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
Можно. Процедурно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 17:05 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
Можно немного подробнее, хотя бы алгоритм или пример кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 17:32 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
-) Создай переменную отчета Report - Variables с именем, например, TotalLine -) У этой переменной сделай такие настройки Init Value = "" ValueToStore = TotalLine + " "+ AllTrim(MyTab.MyField) Reset value = признак группировки -) Создай объект печати в Group Footer и в качестве выражения укажи имя этой переменной Если это нужно именно для Group Header , то все делается аналогично, но не через переменные отчета, а через "внешние" (по отношению к отчету) функции. Т.е. "тупо" сканируешь нужные записи таблицы и складываешь нужную строку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.02.2007, 17:46 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
Да, в репорте и так можно. Совсем забыл ;-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.02.2007, 14:04 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
UrriДа, в репорте и так можно. Совсем забыл ;-) А как ето настроить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 02:13 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
ВладимирМ как раз же и написал, как ;-) Еще раз. Вопрос был: Подскажите пожалуйста , можно ли после группировки в Group Header сделать так чтобы данные выводились в строчку. Ответ был: -) Создай переменную отчета Report - Variables с именем, например, TotalLine -) У этой переменной сделай такие настройки Init Value = "" ValueToStore = TotalLine + " "+ AllTrim(MyTab.MyField) Reset value = признак группировки -) Создай объект печати в Group Footer и в качестве выражения укажи имя этой переменной Если это нужно именно для Group Header, то все делается аналогично, но не через переменные отчета, а через "внешние" (по отношению к отчету) функции. Т.е. "тупо" сканируешь нужные записи таблицы и складываешь нужную строку Условия соблюдены: Group Footer отображается после группировки в Group Header. Если же тебе нужно что-то другое, то прошу переформулировать вопрос. Описать подробнее, чего именно ты хочешь добиться. Наглядный пример привести. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 12:09 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
ВладимирМ-) Создай переменную отчета Report - Variables с именем, например, TotalLine -) У этой переменной сделай такие настройки Init Value = "" ValueToStore = TotalLine + " "+ AllTrim(MyTab.MyField) Reset value = признак группировки -) Создай объект печати в Group Footer и в качестве выражения укажи имя этой переменной Если это нужно именно для Group Header , то все делается аналогично, но не через переменные отчета, а через "внешние" (по отношению к отчету) функции. Т.е. "тупо" сканируешь нужные записи таблицы и складываешь нужную строку Может я что-то неправильно сделал, но отчет выводит только одно наименование, может потому что я создал две переменные. Посмотрите пожалуйста в чем ошибка. Просто должно быть так в Group Header1:code3 - выводится общая информация о каждом проекте А в Group Footer2:g1 должна выводится в строчку информация о ГИП(view9.name2_a и view9.name2_b) Ну например, для view9.code3=2660 Код: plaintext 1. 2. И ещё вопросик Нужно чтобы получилось так, например для view9.code3=4404 Т.е. выбирается промежуток времени(не больше месяца), у меня это отдельная форма. И происходит сравнение если view9.date1 попало в промежуток и g1=0 верхний ряд, если g2=1 нижний ряд.Если значения не найдены то пишется в верху Данные не получает В низу данные не отдает Код: plaintext 1. 2. 3. Опыта мало поэтому задаю такие вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 10:56 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
Ты просто выделил слишком мало места для печати сформированной строки. Весь текст не вмещается в выделенную облать и переносится по пробелам. Вот ты и видишь только первое найденное слово. Увелич длину объекта печати. Место, куда должен выводится текст переменных TotalLine и TotalLine2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 15:06 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
ВладимирМТы просто выделил слишком мало места для печати сформированной строки. Весь текст не вмещается в выделенную облать и переносится по пробелам. Вот ты и видишь только первое найденное слово. Увелич длину объекта печати. Место, куда должен выводится текст переменных TotalLine и TotalLine2 Действительно все верно. Спасибо. А не подскажите как сделать такой ход в отчете. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 18:48 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
Я правильно понял задачу: надо поставить символы "х" в соответствующих местах или вывести некий текст. В принципе, это можно сделать средствами отчета. Но лучшен не надо. Проблема не в том, что это слишком сложно, а в том, что всевозможные "навороты" внутри отчета "не прозрачны". Такой отчет крайне трудно редактировать. Тяжело понять "кто на ком стоял". Поэтому, общая логика построения отчетов - это создание временных таблиц (курсоров), которые имеют такую структуру и содержание, которые позволяют создавать "гладкий" отчет. Т.е. прямо "в лоб" в строке деталировки выводить содержимое полей это временной таблицы. В данном случае, две строк и 31 поле (больше 31 дня в месяце быть не может). До печати отчета заполняешь эту таблицу и ее же содержимое и печатаешь. Такая технология проще, понятнее и удобнее в работе. Как на этапе создания, так и на этапе последующего редактирования отчета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2007, 22:17 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
ВладимирМЯ правильно понял задачу: надо поставить символы "х" в соответствующих местах или вывести некий текст. В принципе, это можно сделать средствами отчета. Но лучшен не надо. Проблема не в том, что это слишком сложно, а в том, что всевозможные "навороты" внутри отчета "не прозрачны". Такой отчет крайне трудно редактировать. Тяжело понять "кто на ком стоял". Поэтому, общая логика построения отчетов - это создание временных таблиц (курсоров), которые имеют такую структуру и содержание, которые позволяют создавать "гладкий" отчет. Т.е. прямо "в лоб" в строке деталировки выводить содержимое полей это временной таблицы. В данном случае, две строк и 31 поле (больше 31 дня в месяце быть не может). До печати отчета заполняешь эту таблицу и ее же содержимое и печатаешь. Такая технология проще, понятнее и удобнее в работе. Как на этапе создания, так и на этапе последующего редактирования отчета. Да вы правильно поняли задачу, и я понимаю что через временные таблицы проще.Я как бы и создаю с временного selecta, но например я имею временную таблицу такую как приложена, и я могу сделать ещё одну выборку по нужному условию(чтобы view9.date1 или view9.date2 лежали в определенном интервале) но договоров много и как на каждый сделать так я не знаю.Т.е. выбрал договор заполнил таблицу, в отчет , отчистил таблицу взял новый договор заполнил таблицу и в отчет. А как ето сделать ??? Спасибо за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 01:47 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
Ну, простейший вариант: Код: plaintext 1. 2. 3. 4. В таком синтаксисе отчет должен быть сделан в Default DataSession и в DataEnvironment отчета ничего не должно быть. Все объекты печати либо вообще не должны иметь алиаса таблицы, либо вручную прописывать алиас курсора, который будет сформирован непосредственно перед выполнением отчета curReport.Field Очищать курсор не надо. Надо его просто удалять и создавть заново. В приведенном выше примере курсор был заполнен за один запрос, но там вполне может быть и процедура любой степени сложности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.03.2007, 10:28 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
ВладимирМНу, простейший вариант: Код: plaintext 1. 2. 3. 4. В таком синтаксисе отчет должен быть сделан в Default DataSession и в DataEnvironment отчета ничего не должно быть. Все объекты печати либо вообще не должны иметь алиаса таблицы, либо вручную прописывать алиас курсора, который будет сформирован непосредственно перед выполнением отчета curReport.Field Очищать курсор не надо. Надо его просто удалять и создавть заново. В приведенном выше примере курсор был заполнен за один запрос, но там вполне может быть и процедура любой степени сложности. Да я так и делаю.Н оу меня не получается одним запросом получть такой вариант, чтобы сразу в отчет. Все равно надо будет мучаться чтобы данные вывести в строчку. Я попробывал так, сначала одним select выбрал общие данные и сохранил в таблицу tabe1, потом на основе tabe1 сделал ещё один select который по определенному условию мне данные представлял одной строкой и сохранил в другую таблицу tabe2. Теперь я делаю так, общие данные в отчете я формирую из tabe1 а там где надо данные в строчку беру из tabe2. Но получается что он берет первую запись из tabe1, а потом все строчки идут из tabe2. Т.е. надо установить что -то типа индекса по общему полю tabe1.code3=tabe2.code3. Но в tabe1 полей с одинаковым значение поля code3 может быть несколько. Я представлял ето так Group header печатаются общие данные из tabe1 и соответствующая строка из tabe2,а в detail уже печатались подробные данные из tabe1. Помогите пожалуйста очень срочно надо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2007, 08:46 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
Как пример. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. В отчете создаешь 31 объект для печати над строкой чисел, где указываешь поля up... и 31 объект для печати под строкой чисел, где указываешь поля down... Если использовать шрифт равной ширины, то можно все это впихнуть в 2 поля, а не разбивать на 2 по 31 полю. Это все было для одного кода. Можно сделать то же самое и для нескольких кодов. Надо только добавить в curReport поле для хранения кода и перед записью делать поиск нужного кода. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2007, 10:46 |
|
||
|
Report, группировка в строчку
|
|||
|---|---|---|---|
|
#18+
ВладимирМ Спасибо большое за пояснеиня я просто не работал с create cursor, все через select into cursor . Извеняюсь за некорректные вопрсы,задавал их по частям и тепер не могу собрать все вместе. Ещё раз, вся выборка идет на основе таблицы view9, по ней в отчете должны быть выбраны все договора, индекс по полю code3,но для договоров у которых ещё view9.data1 лежит в ограниченном временном пределе,будет выводиться дополнительная информация. Код: plaintext 1. 2. 3. Помогите пожалуйста, отчет нужен сегодня для директора , а у меня не получается объединить ето все в один отчет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.03.2007, 13:18 |
|
||
|
|

start [/forum/topic.php?fid=41&tid=1589774]: |
0ms |
get settings: |
13ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
72ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
| others: | 253ms |
| total: | 417ms |

| 0 / 0 |
