|
|
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
Всем привет! Необходимо создать отчёт[ы] и потом выложить их в Web. Отчёты не простые, и посему хотелось бы узнать как народ в таких случаях делает. что есть. есть список товаров, список дистрибьюторов и список складов дистрибьюторов есть таблица остатков на складах. Необходимо вывести отчёт, в котором будет выведенно кол-во товара для каждого дистрибьютора, разложенного по складам, при этом на каждую дату т.е. что то вроде Код: plaintext 1. 2. Составить таблицу (tbl_a) Код: plaintext Не проблема. ПРоблема в том как правильно заполнить кол-во по датам. Я вижу тут 2 подхода. 1. Получить рекордсет с tbl_a и затев в presentation layer (ASP) бежать по нему и в нужной колонке дергать SQL на вопрос а сколько кол-ва на данном моменте. 2. В SP собрать начала табличку tbl_a и потом пробежавшесь по ней курсором так же заполнить данные. что смущает для создания tbl_a используется временные таблицы. Если собирать их руками то в случае решения 1,если страничка повиснет (по таймауту например) то мы имеем повисшую временную таблицу. В случае решения 2 меня смущает прогиб сервера при беге курсором. вполне возможно что я не виду что то еще.. Если есть какое мнение - пишите с уважением Станислав Свириденко ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 11:42:13 |
|
||
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
Не надейтель что я подскажу чего-то умное. Просто мысль. Вот Вы выводите таблицу в ХТМЛ и думаете что процедура в СКЛ тоже должна выводить таблицу такой же структуры. Откажитесь от этого стреотипа. На самом деле таблица в ХТМЛ - это последовательность ячеек. И Вы можете выдавать из процедуры последвательность ячеек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 14:07:11 |
|
||
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
Станислав, оба подхода у нас успешно работают. Единственная деталь - откажись от on-line расчета отчетов... Переодически /ночью, раз в час и т.п./ отчет расчитывается и скидывается в статическую таблицу. А Web просто ее "эксплорит" :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 14:18:48 |
|
||
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
2SergSuper: Интересная мысль, а можно чуть чуть популярнее? 2dkstranger: Да я и не отрицаю, но ТЗ спущено сверху. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 14:25:54 |
|
||
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
Я подумал что у Вас неизвестно количество дат, т.к. надо разворачивать таблицу и предложил её разворачивать на ASP. На самом деле это не так трудно как представляется сначала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 14:38:55 |
|
||
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
Если хотят on-line, то целесообразно физически поделить таблицы отчетов - например, на каждый склад - своя .... Не зная задачи и объема данных, трудно оценить возможность on-line реализации... Наш наиболее близкий пример, насколько я понял /до нескольких тысяч операций ежедневно/ - расчет в статике остатков на утро каждого дня, on-line только по сегодняшним операциям ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 14:42:31 |
|
||
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
1) Сколько может быть дат в отчете и отчего это зависит? 2) Я бы сделал запрос с использованием FOR XML и выводил бы отчет с исользоанием xsl. Кроме того - почему нельзя использовать execsql? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 15:00:51 |
|
||
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
Да, действительно кол-во дат неизвестно (пользователь задаёт диапазон дат "от" и "до" ). Обьём довольно таки большой. Грубо говоря подсчитайте все сорта пива в России, все эти сорта по крупнейшим городам россии (ну например 50) в каждом городе 2-3 партнера и у них свои склады. вариант с XML. Нет проблем. проблема в том, как наиболее дёшево (по нагрузке и времени) создать этот отчёт. Перекладывать всё это на SQL? Или подтягивать presentation layer, учитывая его ненаджность? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 15:09:23 |
|
||
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
Я так и не понял, как определяется кол-во дат в отчете. Кол-во сортов пива, поставщиков и складов, не оказывает заметное влияние на скорость работы для данного отчета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 15:45:27 |
|
||
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
в хранимую процедуру передаётся 2 даты - начало периода и конец периода. Практически минимальное кол-во дат 1 дата, максимальное .. да неделя, месяц, год, бесконечность ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 15:51:24 |
|
||
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
Неделя - это не дата. Так что, если я правильно понимаю в хранимую процедуру должно передаваться или список дат или третьим параметром - период. Создате димический запрос - типа Выбрать поставщика, склад, товар, (Select Sum(количество) from tbl where <указываете сравнения поставщика, склада, товара) и критерии даты group by количество)) as qnty_1, при необходимости в цикле генерите дальше и завершаете построение главного запроса частями from, where, order. дальше под это подкладываете xsl и как я понимаю это все. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 16:06:09 |
|
||
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
Лучше получать обычную, плоскую таблицу типа дистрибьютер1 | склад1 | товар1 | дата1 дистрибьютер1 | склад1 | товар1 | дата2 ... дистрибьютерN | складN | товар1 | дата1 дистрибьютерN | складN | товар1 | дата2 а потом разворачивать ее на клиенте. Подобные темы неоднократно обсуждались. Если повезет, найдете по словам "Развернуть таблицу". А у меня в постинге, помнится фигурировали "StringGrid" и "изврат" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 20:00:51 |
|
||
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
Вот, нашел\r ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.10.2002, 20:20:05 |
|
||
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
Для динамической подготовки отчётов и их просмотра можно воспользоваться Crystall Report 8.0 (8.5 не подойдёт). Там можно нарисовать формы отчётов в дизайнере и с помощью спец. прибамбас подружить их с IIS. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.10.2002, 12:54:22 |
|
||
|
[Отчёты] поделитесь опытом кто может.
|
|||
|---|---|---|---|
|
#18+
OLAP-средства некоторых производителей позволят решить эту задачу (и сотни других). Преобразование отчетов на лету в html или представление доступа к ним через java-апплет, аутентификация пользователей - автоматизированы. Думать и кодировать, конечно, придется, но не на уровне представления, а на уровне бизнес-логики, что более пристало современному программисту. Пример: http://www.1bi.ru/panorama_webaccess.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2002, 11:24:35 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=32056393&tid=1819461]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
24ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 313ms |

| 0 / 0 |
