|
![]() |
#1 |
Участник
|
Цитата:
Использование определенных типов данных лишь косвенно влияет на размер таблицы. Да и то, в очень специфических ситуациях. Как правило, таблица настроек, "по определению" содержит очень небольшое количество записей (обычно вообще одну). Поэтому количество добавляемых полей практически никак не влияет на ее размер. |
|
![]() |
#2 |
Участник
|
![]() Цитата:
У RS есть служба управляемых подписок - на основании запроса формировать отчеты. То что надо для таких случаев. Получается надо таблицу которая будет содержать нужные параметры и использоваться в запросе RS. Но согласитесь если для каждого отчета на RS делать свою таблицу это будет несколько расточительно. Поэтому сделал общую таблицу содержащую значения для формирования подписок.Состав полей очень простой: код класса формирующий подписку, путь к отчету, список параметров(Parameter1, Parameter2 и т.д.) и признак активности подписки чтобы ее можно было выключать временно. Сначало параметры забил отдельными полями, сейчас превратил их в массив так табличка симпотичнее выглядит). Вот собственно и все... Механизм отладил уже работает
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. ![]() |
|
![]() |
#3 |
Участник
|
Категорически не соглашусь.
|
|
![]() |
#4 |
Участник
|
Поясните пожалуйста свою позицию?В чем прелесть если аот вырастет на 100 новых таблиц?
Я исходил из того, что используя одну таблицу буду не только экономить узлы AOT, но и упрощу настройку подписок на RS. А каковы ваши мотивы для такого утверждения?
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. ![]() |
|
![]() |
#5 |
Участник
|
Цитата:
От простого добавления 100 таблиц ни холодно, ни жарко. Прелесть состоит в том, что эти 100 таблиц будут иметь свои типизированные поля, свои валидейты, свои индексы, свои relation'ы, свои права. Каждую таблицу можно будет отнести к определенному проекту и функционалу. В общем, вы получите проверку на уровне компилятора, а не во время runtime. Цитата:
Но зато ваша экономия приведет к огромному динамическому программированию, к "универсальным" валидейтам, к неподъемному программированию прав Подробнее см. Значение display метода по его названию Насчет упрощения подписок - отчасти вы правы, но как вы права собираетесь раздавать? Или у вас все пользователи могут менять любые параметры? |
|
![]() |
#6 |
Участник
|
Цитата:
Сообщение от mazzy
![]() Прелесть состоит в том, что эти 100 таблиц будут иметь свои типизированные поля, свои валидейты, свои индексы, свои relation'ы, свои права. Каждую таблицу можно будет отнести к определенному проекту и функционалу.
В общем, вы получите проверку на уровне компилятора, а не во время runtime. Поэтому все параметры преобразуются в строку и хранятся в одной таблице. А добавление параметра осуществляется через единый метод в наследнике Runbase. Цитата:
Сообщение от mazzy
![]() Но зато ваша экономия приведет к огромному динамическому программированию, к "универсальным" валидейтам, к неподъемному программированию прав
Подробнее см. Значение display метода по его названию Насчет упрощения подписок - отчасти вы правы, но как вы права собираетесь раздавать? Или у вас все пользователи могут менять любые параметры? А насчет прав доступа выкручиваюсь таким образом). Разграничение доступа к таблице настройки параметров вручную осуществляется через форму. Те кому не положено не допускаются к ней обычными средствами. А заполнение прочих подписок выполняется через наследники Runbase. То есть если у пользователя есть права на формирование отчета он может добавить запись в подписку для данного класса. Если возникла ошибка при создании записи подписки достаточно в диалоге изменить значения полей с уникальным именем подписки и его пересохранить. А дальше все будет зависеть от безопасности на RS.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ. ![]() |
|
![]() |
#7 |
Участник
|
Цитата:
Цитата:
Сообщение от KingPeas
![]() Пришлось повозиться пару дней чтобы организовать таблицу для гибкой привязки параметров в аксапте с параметрами непосредственно в отчетах RS. Можно и без этого было обойтись, но неудобно переносить с одного сервера на другой и сервера перенастраивать при новых путях для отчетов на RS или изменении порядка параметров в отчете со стороны аксапты или RS. На этом динамическое программирование закончилось)
|
|