Pull to refresh

Comments 4

Осталось только разработать хранимую процедуру

Надеялся увидеть логически законченное решение… Видимо не судьба.
Из личного опыта скажу, что такие вот динамические движки в преоблажающем большинстве случаев ушербны с точки зрения перфоманса.
Сейчас 4 дня "праздников" у меня в планах реализацию запилить.
Может, формулы в каком-нибудь упрощенном expression стиле хранить?
Тут с правами еще посмотреть можно. Есть ведь риск, что такая формула может уронить базу? По идее, это выполнение неконтролируемого SQL.
Да в этом риск, что хакеры натворят делов, поэтому если система для внутреннего пользования и "не крупная" ( не больше 200 — 500 пользователей ) то доступ можно спокойно дать.
Пользователи всегда заинтересованы в скорейшем выполнении своей заявки, техподдержка без дела не сидит и любая самая пустячная заявка которая может подождать неделю — эту неделю ждать и будет. Поэтому если у пользователя есть способ своими руками сделать быстрее, то он сделает и часто пользователи не сообщают о системных ошибках которые исправляются за пару минут, потому что им дольше техподдержке объяснять в чём дело, чем исправить.

Если клиенты пользуются сервисом в качестве облачного, то такой способ хранения формул просто облегчает работу программиста — нет необходимости иметь отдельную хранимую процедуру под каждого пользователя.
При ошибке в формуле, отчёт не построиться или если будет адекватная обработка ошибок, то отдельные формулы не будут вычислены.

Основная идея — упрощение сопровождения.
Написать движок который строит произвольную таблицу не трудно, я подобный для веба уже писал .

Сегодня начал писать примитивную реализацию своей идеи, думаю к 10 марта допишу, будет время прикручу вывод отчёта на вебе.

По поводу "выражений"- можно много чего "накрутить", я просто поделился идеей. Для своих задач вы можете развить из этой идеи любой рабочий механизм.

Просто часто по работе изучая "best practices" я часто на Хабре находил отличные решения, поэтому почему бы не поделиться? Если кому то пригодиться я буду рад.
Sign up to leave a comment.

Articles