07.02.2024, 16:50 | #1 |
Участник
|
Форма Сальдо по кассе. Дакс2012
Пользователь имеет одну стандартную роль Бухгалтер(LedgerAccountant).
Управление банком и кассовыми операциями/Запросы/Сальдо по кассе - видит нормально список касс и остатки. Заходит в справочник Кассы и оттуда жмет Сальдо по кассе - видит форму с одной строкой в полях которой значок в виде замочка. Что же за такое не пойму опять? Все формы и таблицы стандартные на sys слое. Пробовал у таблицы RCashBalances свойство AOSAutorization toставить None - нечего не поменялось. Пробовал вызывать сальдо по менюитему из другой самодельной формы. Пробовал просто из джоба: X++: args = new Args(); args.record(RCashTable::find("касса")); args.name(formStr(RCashBalance)); formRun = classfactory.formRunClass(args); formRun.init(); formRun.run(); formRun.detach(); Открывал эту форму из строк журнала ордеров - нет эффекта, все время поля с замочками. По коду там вроде все едино - датасорс делается setTmp и заполняется расчетными данными. Хоть для одной кассы хоть для всех. Последний раз редактировалось Perc; 07.02.2024 в 16:53. |
|
09.02.2024, 08:04 | #2 |
Участник
|
Проблема нашлась.
В базе ведется несколько компаний, поэтому когда пользователю назначили группу, с ней назначили и конкретную организацию. Т.е. к компании "dat" тоже не было доступа. В форме RCashBalance, когда данные временной таблицы переносились на датасорс формы(setDataTmp()), поле dataAreaId почемуто не копировалось, а оставалось равным dat. И то, почему то, только в случае если форма вызывалась с установленным args.record(). Ну и в итоге вижу, что в init датасорса формы: X++: rCashBalances.setTmp();
super(); И попутно вопрос. А если у вас в БД несколько компаний и обычному пользователю требуются ограничения по конкретной компании. Нужно ли ему добавлять обязательно в разрешенные компанию "dat"? |
|