powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как делать разработку более глобально?
9 сообщений из 9, страница 1 из 1
Как делать разработку более глобально?
    #39224510
Герундий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот читаешь форумы, люди занимаются разработкой.
недовольны средой разработки, делают свою, недовольны системой разработки отчетов - делают свою.
Как так получается?
Вот используешь какой-то язык и среду разработки, что-то пишешь. Кристал репортс есть, всех вроде все устраивает.
Как люди приходят к мысли, что надо затеять что-то более глобальное?
Я просто не представляю как можно делать свою систему отчетности, с чего начать и так далее.
...
Рейтинг: 0 / 0
Как делать разработку более глобально?
    #39224523
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГерундийВот читаешь форумы, люди занимаются разработкой.
недовольны средой разработки, делают свою, недовольны системой разработки отчетов - делают свою.
Как так получается?
Вот используешь какой-то язык и среду разработки, что-то пишешь. Кристал репортс есть, всех вроде все устраивает.
Как люди приходят к мысли, что надо затеять что-то более глобальное?
Я просто не представляю как можно делать свою систему отчетности, с чего начать и так далее.
Да ничего там сложного.

Вот лично я не представляю, как на стандартной системе отчетности можно делать отчеты )))

Герундий...с чего начать и так далее.
Если на Java то:

public static void main(String[] args) {
....

)))
...
Рейтинг: 0 / 0
Как делать разработку более глобально?
    #39224561
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГерундийВот используешь какой-то язык и среду разработки, что-то пишешь. Кристал репортс есть, всех вроде все устраивает.
Как люди приходят к мысли, что надо затеять что-то более глобальное?
Если все устраивает, то и менять нет смысла. На глобальные изменения приходится идти когда накапливается критическая масса того что не устраивает, которая по первости маскируется какими-нибудь кривыми обходными путями.
...
Рейтинг: 0 / 0
Как делать разработку более глобально?
    #39225207
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГерундийВот читаешь форумы, люди занимаются разработкой.
недовольны средой разработки, делают свою, недовольны системой разработки отчетов - делают свою.
Как так получается?
Вот используешь какой-то язык и среду разработки, что-то пишешь. Кристал репортс есть, всех вроде все устраивает.
Как люди приходят к мысли, что надо затеять что-то более глобальное?
Я просто не представляю как можно делать свою систему отчетности, с чего начать и так далее.С чего начать? С реальной работы.
Через некоторое время ты начнешь хотеть чего-нибудь "вот такого-этакого", которое твоя среда/система не может предоставить. И не потому что это невозможно в принципе, а потому что разработчики системы сами не сталкивались с твоей задачей и не предусмотрели особенности твоих условий. Даже если это условие из разряда "начальник-дурак хочет странного", но он хочет и теоретически система должна бы такое смочь, но вот не может.... Можно заказать разработчикам системы чтобы они добавили эту возможность и они возможно пойдут тебе навстречу, а может и не пойдут... Разработчики за твою хотелку могут потребовать неразумные деньги или просто очень долго тянуть с добавлением этой хотелки... В итоге у тебя начинает копиться раздражение.
И еще через некоторое время, когда ты накопишь достаточное количество неудовлетворенности продуктом, ты начнешь искать что-нибудь новое - другую среду разработки, другую систему построения отчетов. И даже найдешь и будешь счастлив какое-то время. Но потом история обязательно повторится.
А после того как ты попробуешь на зуб несколько систем - ты начнешь понимать что-же ты хочешь видеть в идеальной системе? И вот тогда и начинаются собственные разработки...

Конечно, иногда люди начинают разрабатывать свою собственную систему потому что хотят быть крутыми разработчиками мега-продукта, или просто потому что настолько глупы что не смогли осилить существующие. Но такие горе-разработчики ничего реального сделать оказываются не способны и их потуги обычно ничем хорошим не оканчиваются.
...
Рейтинг: 0 / 0
Как делать разработку более глобально?
    #39225251
Гхостик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ГерундийЯ просто не представляю как можно делать свою систему отчетности, с чего начать и так далее.Вот мне было интересно попробовать слабую связность, я написал простенькую системку на Golang. Идея следующая.

Есть папка с файлами с sql запросами
- имя файла = имени запроса для дальнейшего использования
- в запросе могут встречаться параметры

Есть папка с описанием отчета. Отчет это:
- Набор параметров самого отчета
- Набор запросов как имен файлов из папки
- Настройка связи параметр отчета - параметр запроса
- Настройка связи запросов (поле master=поле detail) для их соединения
- Шаблон отчета в html

Далее реализуется http api сервер, который
- соединяется с БД по файлам конфигурации
- по запросу от клиента по http с параметрами - имя отчета, значения параметров
- - запускаются запросы составляющие отчет с передачей им параметров
- - результаты запросов соединяются на клиенте по связям отчета (поле master=поле detail)
- - полученные данные передаются в шаблонизатор как контекст вместе с шаблоном отчета
- - результат отдается клиенту
- далее клиент уже может преобразовать html в pdf либо xlsx

Нету
- авторизации
- прав доступа
- визуальной части для отображения параметров
- - тип данных
- - обязательность
- - заголовок, описание
- - выбор из справочника
- вообще интерфейса клиента

Слабая связность позволяет
- заменить хранение в файлах на хранение где угодно
- заменить выполнение запросов в БД запросами хоть к промежуточному серверу
- заменить шаблонизатор

Немного кода - интерфейсы:
Код: 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.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
	
type (
	Query struct {
		Name   string
		Sql    string

		// mapping from common for report param names to query param names
		Params map[string]string
	}

	Report struct {
		Name    string
		Queries []Query
		Joins   query_json_join.JoinInfo
	}

	Templates interface {
		Names() []string
		Get(string) (string, error)
	}

        QueryRowJSON map[string]interface{}
	QueryDataJSON []QueryRowJSON
	QueryJSON struct {
		QueryName string
		Columns   []string
		Data      QueryDataJSON
	}

	Query interface {
		Name() string
		SQL() string
		ParamNames() []string
	}

	QueryExecutor interface {
		// parses sql and saves it with name
		Parse(name string, sql string) (Query, error)

		// executes query and returns data as json
		Query(queryName string, params map[string]interface{}) (QueryJSON, error)

		// frees all resources
		Close()
	}

	Reader interface {
		ReadReport(string) (model.Report, error)
		Templates() model.Templates
	}

	Builder interface {
		// builds report - exec queries, join results, fill template
		Build(model.Report, map[string]interface{}, io.Writer) error
	}

	API interface {
		Run() error
	}

Пересекающиеся имена тут - это нормально, на самом деле они лежат в отдельных пакетах, а использовать идентификатор без имени пакета нельзя.
...
Рейтинг: 0 / 0
Как делать разработку более глобально?
    #39225414
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГерундийВот используешь какой-то язык и среду разработки, что-то пишешь. Кристал репортс есть, всех вроде все устраивает.
Как люди приходят к мысли, что надо затеять что-то более глобальное?
Я просто не представляю как можно делать свою систему отчетности, с чего начать и так далее.


ну, не представляешь - не начинай. как поставишь - начинай.

на самом деле проблема постановки задачи - одна из самых сложных и важных.
...
Рейтинг: 0 / 0
Как делать разработку более глобально?
    #39225991
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГерундийВот читаешь форумы, люди занимаются разработкой.
недовольны средой разработки, делают свою, недовольны системой разработки отчетов - делают свою.
Как так получается?

Очень часто разработкой отчетов занимаются вообще не программисты. Это может
быть бухгалтер. Сисадмин. Случайный студент-практикант которого "попросили".
Собственно переосмысление того "чем там недовольны и кто недоволен" и порождает
новое ТЗ.

А кристал-репортс или Джаспер тоже имеют порог всхождения. Я вот-бы тоже
не взялся просто так с перепугу кодить на Джаспер пока возможности printf(...)
покрывают все что нужно и Excel-2016 "всасывает" в себя CSV уже из коробки и по
мышко-клику.
...
Рейтинг: 0 / 0
Как делать разработку более глобально?
    #39227302
scf
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГерундийВот читаешь форумы, люди занимаются разработкой.
недовольны средой разработки, делают свою, недовольны системой разработки отчетов - делают свою.
Как так получается?
Вот используешь какой-то язык и среду разработки, что-то пишешь. Кристал репортс есть, всех вроде все устраивает.
Как люди приходят к мысли, что надо затеять что-то более глобальное?
Я просто не представляю как можно делать свою систему отчетности, с чего начать и так далее.

Всё зависит от требований к отчетам, от квалификации программистов и от того, кто, собственно, будет отчеты рисовать.
Вот, к примеру, системе нужно выводить на печать всякие-разные формы. Бизнес дает образцы в виде .doc/.xls файлов, и хочет, чтобы они печатались с нужными данными по нажатию на кнопку.

Какие тут могут быть варианты?
1. если отчеты делают программисты: переводят .doc в rtf, заворачивают в шаблонизатор и выдают в виде pdf. В этом случае задача решается за минимальное время, но это время тратят высокооплачиваемые программисты.
2. если отчеты делают девочки: они долго изучают систему генерации отчетов, потом долго учатся верстать в ней формы так, чтобы результат совпал попиксельно с требованиями. Но это может быть выгодно, т.к. девочки лучше масштабируются и требуют меньше зп.
...
Рейтинг: 0 / 0
Как делать разработку более глобально?
    #39227397
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
scf1. если отчеты делают программисты: переводят .doc в rtf, заворачивают в шаблонизатор и выдают в виде pdf. В этом случае задача решается за минимальное время, но это время тратят высокооплачиваемые программисты.
2. если отчеты делают девочки: они долго изучают систему генерации отчетов, потом долго учатся верстать в ней формы так, чтобы результат совпал попиксельно с требованиями. Но это может быть выгодно, т.к. девочки лучше масштабируются и требуют меньше зп.
Программисты делают свой шаблонизатор, учат девочку им пользоваться -- девочка нормально рисует отчеты в Word'е
При необходимости поправить одну/две буквы, сменить шрифт - даже и сами пользователи, при желании, могут

Профит.

IMHO Что бы править разметку в средства наподобие RTF-шаблонов в Oracle XML Publisher'а - много знаний не нужно.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Как делать разработку более глобально?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]