Показаны сообщения с ярлыком централизация. Показать все сообщения
Показаны сообщения с ярлыком централизация. Показать все сообщения
понедельник, 21 сентября 2009 г.
понедельник, 20 июля 2009 г.
АБС Б2. Ограничили доступ?
Документация.
Изучение мануалов дало понять что никаких ограничений не существует в формировании "пользовательского фильтра", кроме ограничения - фантазии и знания азов SQL.
Пример.
Заглянем на форму "счета\аналитические счета". Обычная форма, вывод данных согласно выданных прав - просмотр одного отделения. Форма по-умолчанию смотрит на вьювер VAACCOUNT, который загружает данные с VIntAAccount. В последнем вьювере идет проверка прав и соответствующий вывод данных. Немножко меняем, точнее удаляем из него проверки, и получаем чистый запрос - возвращающий информацию о всех счетах - экранируем его скобочками, полученный результат указан ниже. Теперь мы готовы к проверке - нажимаем F7 и приступаем к редактированию "пользовательского фильтра".
Рис. 1 - редактор пользовательского фильтра.
Замечания.
Для корректной работы "пользовательских sql-запросов" необходимо проверить, чтобы сортировка полей была выключена.
Домашнее задание.
1. Кто знает способ корректно обрабатывать сортировки, о которых я написал в замечании, прошу сообщить в комментария, думаю это будет полезно для всех.
2. Пишите запросы которые вас выручили в трудную минуту.
Пример.
Заглянем на форму "счета\аналитические счета". Обычная форма, вывод данных согласно выданных прав - просмотр одного отделения. Форма по-умолчанию смотрит на вьювер VAACCOUNT, который загружает данные с VIntAAccount. В последнем вьювере идет проверка прав и соответствующий вывод данных. Немножко меняем, точнее удаляем из него проверки, и получаем чистый запрос - возвращающий информацию о всех счетах - экранируем его скобочками, полученный результат указан ниже. Теперь мы готовы к проверке - нажимаем F7 и приступаем к редактированию "пользовательского фильтра".
В редакторе выбираем операцию "одно из", указываем совершенно любое "поле" и в "значение" вставляем запрос который у нас получился:
0) union (SELECT a.ID, a.accountno, a.description, b.ID baccountid, SUBSTR (b.NAME, 1, 25) baccountsname, b.activepassive_a090 activepassive, c.ID contragentid, c.sname contragentsname, c.nickname contragentnickname, c.contragrankid contragrankid, contragrank.sname contragranksname, a.lockremark, cur.ID currencyid, cur.sname currencysname, a.dateopen, a.datelastmove, a.dateclose, DECODE (SIGN (a.summabegin), -1, -a.summabegin, 0) summabeginactive, DECODE (SIGN (a.summabegin), 1, a.summabegin, 0) summabeginpassive, DECODE (SIGN (a.summanow), -1, -a.summanow, 0) summanowactive, DECODE (SIGN (a.summanow), 1, a.summanow, 0) summanowpassive, a.debet, a.credit, DECODE (SIGN (a.summanowvirtual), -1, -a.summanowvirtual, 0) summanowvirtualactive, DECODE (SIGN (a.summanowvirtual), 1, a.summanowvirtual,0) summanowvirtualpassive, astate.ID accountstateid, astate.sname accountstatesname, a.parentbaccountid, a.accountlimit, a.OPERATOR, a.summabegin,a.summanow, a.accountpassport, ABS (a.summabegin) abssummabegin, ABS (a.summanow) abssummanow, a.isparent, a.activatedate, a.auth_actionid auth_actionid, DECODE (NVL (a.auth_actionid, 0), 1, 'Добавление', 2, 'Изменение', 3, 'Удаление', 'нет' ) auth_action_name, a.approvedby approvedby, a.approveddate approveddate, a.modifiedby modifiedby, a.toboid, tobo.sname tobosname, a.special, a.siteid, a.BeginCloseDate, to_date(null) arcdate, substr(a.accountno, 6) accountcode FROM aaccount a, baccount b, contragent c, contragrank, currency cur, accountstate astate, tobo WHERE a.baccountid = b.ID AND a.contragentid = c.ID AND a.currencyid = cur.ID AND a.accountstateid = astate.ID AND c.contragrankid = contragrank.ID AND tobo.ID = a.toboid AND c.siteid = a.siteid AND tobo.siteid = a.siteid and a.accountstateid != 2
Для корректной работы "пользовательских sql-запросов" необходимо проверить, чтобы сортировка полей была выключена.
Домашнее задание.
1. Кто знает способ корректно обрабатывать сортировки, о которых я написал в замечании, прошу сообщить в комментария, думаю это будет полезно для всех.
2. Пишите запросы которые вас выручили в трудную минуту.
воскресенье, 19 июля 2009 г.
Вступительное слово
На мой взгляд, каждый сталкивался с переизбытком свободного времени на работе. Тоже приключилось и со мною, после воплощения в жизнь, головной конторой, проекта с кодовым названием "централизация" - у нашего отдела были урезаны права доступа к программным комплексам, работающих в организации.
С уменьшением прав пропорционально росло свободное время.
Хоть мой блог и первый пост были созданы в выходной день, обязуюсь последующие сообщения размещать в будни с рабочего компьютера )))
Подписаться на:
Сообщения (Atom)
