|
|
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
Нужен совет. Как все это проще (точнее правильнее) сделать. Есть обработчик, который формирует отчет, но мне не нравится код. Как это можно сделать правильно, а не через такие костыли? Код: pascal 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. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. Результат: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 19:38 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
Валерий666, накати вотки или форматтер кода используй, и попустит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 19:49 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
КотовасияВалерий666, накати вотки или форматтер кода используй, и попустит. Да и так попустило) Вышел на результат, но что-то внутри подсказывает, что лупить запросы внутри цикла - это жесть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 19:52 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
Мне почему-то кажется что этими "SELECT count(*) FROM" вы имитируете операция GROUP BY ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 23:15 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
Судя по тому, что отчёты у вас лежат в папочке, программа - однопользовательская ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2018, 23:39 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
DimaBrМне почему-то кажется что этими "SELECT count(*) FROM" вы имитируете операция GROUP BY Если есть предложения, с удовольствием выслушаю) Программа сетевая. Отчеты у каждого свои. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 08:26 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
Валерий666Программа сетевая. Отчеты у каждого свои. И если нужно исправить один отчёт у всех, то бежим к каждому на комп ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 08:33 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
Валерий666, зачем уже полученный курсор (набор данных) загонять в ("временную") табличку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 08:38 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
DimaBrВалерий666Программа сетевая. Отчеты у каждого свои. И если нужно исправить один отчёт у всех, то бежим к каждому на комп ? Нет, зачем, есть апдейтер. Смотрятся хэши, если не совпадают то перед стартом все сливается с сервера. авторзачем уже полученный курсор (набор данных) загонять в ("временную") табличку? Набор данных строиться в цикле. Если подскажите как полностью его получить без временной таблички буду благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 09:06 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
так ? Код: sql 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 09:11 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
DimaBr так ? Код: sql 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. Благодарю! Все получилось! Немного пришлось повозится с представлениями и синтаксисом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 10:20 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
Может подскажите еще один момент? Это уже немного другой отчет. Есть номенклатурный справочник. На его основе хотелось бы видеть отчет с результирующими полями по группам. Рисунок ниже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 11:42 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
Рисую вот такой запрос, как получить сумму по группе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 11:45 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
В отчёте - GroopFooter, где группу нужно как то выделить по номеру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 12:09 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
DimaBrВ отчёте - GroopFooter, где группу нужно как то выделить по номеру Немного не то, мне результат нужен ДО подвала и уже в таблице датасета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 15:30 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
Это не ПОДВАЛ, а ПОДВАЛ ГРУППЫ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 15:43 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
Хотите данные в запросе - пристыкуйте второй запрос (на суммы) через UNION ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.10.2018, 15:57 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
DimaBrХотите данные в запросе - пристыкуйте второй запрос (на суммы) через UNION Вобщем получилось так, но это не совсем то что надо, удалил пункты ("в том числе") и итоги закинул в футер груп. Для этой формы сойдет, но есть другая такая же только без периода, и там строгая форма, и все цифры должны идти по порядку. Была мысль сделать в репорте переприсваивание значения из подвала, а подвал невидимым, но почемуто такая манипуляция даже с двойным проходом работает правильно только на первых двух группах бэндов… Вобщем я сгруппировал полем в таблице эти пункты(группа 1,2,3,4,5,6,7 и тп), с запросами я далеко на вы, и про join и пр. прочитал только на прошлой неделе, уже не говоря про агрегатные ф-ии. Можно ли сделать еще одно поле, суммирующее по группе? т.е. чтобы было все то что есть сейчас + поле, в котором будет сумма всех записей группы 1, где группа 1, 2 где группа 2 и тп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2018, 08:46 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
У вас репорта есть отдельный компонент для составления итоговых таблиц (такой мини-олап) -- на оде подается список данных, а он сам группирует их по различным разрезам и считает цифры. Если к дизайну претензий не будет, то вполне себе вариант. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2018, 08:54 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
Можно ли сделать еще одно поле, суммирующее по группе? т.е. чтобы было все то что есть сейчас + поле, в котором будет сумма всех записей группы 1, где группа 1, 2 где группа 2 и тп. Повторяю ещё раз, для суммирования по группе существует GROUP FOOTER ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2018, 09:00 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
Валерий666Можно ли сделать еще одно поле, суммирующее по группе? https://www.fastreport.ru/public_download/docs/vcl/FR6/HTML_RU/index.html?report_with_groups.htm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2018, 09:39 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
DimaBrМожно ли сделать еще одно поле, суммирующее по группе? т.е. чтобы было все то что есть сейчас + поле, в котором будет сумма всех записей группы 1, где группа 1, 2 где группа 2 и тп. Повторяю ещё раз, для суммирования по группе существует GROUP FOOTER Да при чем тут GROUP FOOTER? На картинке нарисовал как есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2018, 10:32 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
Валерий666, а на groupheader'е не получается разместить компоненты? Если не получается, то можно и дополнительной строкой в наборе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2018, 10:51 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
"но при таком раскладе замена идёт только на 2-е первые группы, а дальше цифры не совпадают" - если честно, то ничего не понял Код: pascal 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2018, 11:19 |
|
||
|
Delphi+MySQL+FastReport.
|
|||
|---|---|---|---|
|
#18+
DimaBr"но при таком раскладе замена идёт только на 2-е первые группы, а дальше цифры не совпадают" - если честно, то ничего не понял Код: pascal 1. <DS."TOREP">=0, поле в таблице, 0 - замена значения на Memo36.Value Memo36.Value - сумма по группе DS."All0" - значение из таблицы. груп футер , либо скрытый, либо уменьшенный, в котором будут результаты. Вобщем нужно Во так что бы было в итоге. Дизайн таблицы регламентирован, это отчетная форма, вы водить итоги или еще какие либо цифры в "неустановленные" места нельзя. Отсюда и вопрос как это реализовать. Я вижу 2 выхода, подмена значений и расчет в самом репорте сумм(что пока не очень получается). Либо по тому же условию отображения, к запросу: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Добавить еще 10 полей и суммами, в которых будет сумма по группе, чтобы выглядело это так как на табличке в скриншоте Т.е. в SUM_All0,SUM_All1.....SUM_view0,SUM_view1 - собирались бы соответствено суммы из All0, All1.... view0,view1 в разрезе группы. Т.е. берем итем смотрим группу, считаем количество итемов в этой группе в нужном разрезе по датам и условиям записываем в SumИМЯПОЛЯ (к примеру SUM_All0). А в репорте уже вставить условие в поле для отображения: [IIF(<DS."TOREP">=0, <DS."SumAll0">, <DS."All0">)] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.10.2018, 12:40 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39714824&tid=2040253]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 334ms |

| 0 / 0 |
