|
![]() |
#1 |
Участник
|
Как повторно запустить неявную проверку прав, выполняемую ядром, не знаю - я в таких случаях явно проверяю права доступа на таблицу таким вот методом вспомогательного класса DEV_Assert:
X++: // если у текущего пользователя нет доступа к указанной таблице, выбрасывает исключение public static client server void hasTableAccess(tableId _tableId, AccessType _accessType = AccessType::View) {; DEV_Assert::tableIdIsInValidRange(_tableId); if (!isTableUserEnabled(_tableId, _accessType)) { throw error(strfmt("@SYS76214", tableid2pname(_tableId))); } } |
|
![]() |
#2 |
Участник
|
Цитата:
права нужно проверять не только на таблицу, но и на отдельные поля. также нужно:
если всего этого не сделать, то получится отдельно стоящая форма, не связанная с остальным функционалом. И ни на что не похожая. В которой НЕ работают большинство стандартных и таких привычных пользователю инструментов. (Даже порядок колонок не запоминается!) повторюсь: |
|
![]() |
#3 |
Участник
|
Позволю сделать одно маленькое замечание: дополнительное программирование может потребоваться в случае, если дабавлять Common, в противном случае, дорабатывать не надо, всё и так работает.
Кстати, в большинстве случаев (для подобных модификаций) всего описанного Вами функционала не требуется. Но, согласен, разработчик должен знать, к чему ведёт такой подход... |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
![]() |
#4 |
Участник
|
а вы попробуйте
![]() Цитата:
![]() вот так всегда - сначала громкие заявления про "универсальность", а потом(!) выясняется... |
|
![]() |
#5 |
Участник
|
Собственно, я и писАл на форум именно после того, как попробовал.
![]() В моём случае всё в порядке, т.е. все пункты Вашего списка работают так, как надо, ибо я свой источник (не Common) линковал к уже существующему. Разумеется, возможно найти пример, где некоторые или даже (о, ужас!) все пункты не будут работать... Думаю, искать и не требуется. Цитата:
![]() |
|
|
За это сообщение автора поблагодарили: sukhanchik (2). |
![]() |
#6 |
Участник
|
Цитата:
не верю, выкладывайте проект. Цитата:
![]() |
|
![]() |
#7 |
Участник
|
Да не вопрос! Сделал маленький тест... т.к. оригинальный проект выкладывать будет тяжко... много всего.
Не проверял только автоотчёт и выгрузку в XL. Всё остальное работает ![]() P.S. Перечисленные Вами глюки начинают происходить исключительно если на форму в run-time добавляем группы полей (возможно и просто поля? не пробовал) одного и того же DataSource, уже где-то присутствующие на форме... Акса начинает путаться и при загрузке форм меняет свойства первых попавшихся, а не тех, что нужно, полей. Что-то с run-time идентификаторами контролов. |
|
|
За это сообщение автора поблагодарили: mazzy (5). |
Теги |
autodatagroup, autodeclaration, datasource, run-time, добавление группы полей, как правильно, форма |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|