Страница 1 из 2
запрет на доступ
Добавлено: 11 авг 2008, 15:43
J1nn
нужно запретить доступ к информации по 50 счету ,может кто знает как? подскажите:) заранее спасибо
Добавлено: 12 авг 2008, 15:13
J1nn
хммм..походу криво выразился) народ,подскажите,как запретить получать любые д окументы по счету (например 50) всем пользователям, кроме избранных? излазил весь саппорт ничего не нашел, а запрещение по условию и даже полное запрещение таблиц - ничего не дало:(
Добавлено: 12 авг 2008, 22:35
edward_K
вы просто условие не так писали. поля в oborot какие писали?
я даже одно поле закрывал протектом и ниче - все работало
Опять же 3 правила
1. права суммируются
2. пересчитывать права лучше когда пользователя нет в системе
3. права грузятся только в момент старта галки.
Добавлено: 13 авг 2008, 11:19
J1nn
да, перекрывалось правами группы похоже..сейчас более-менее все заработало:)
условия фильтра были на таблицу oborot :
sheto<>'350' or schetk<>'350'
теперь мучаюсь с тем чтоб некоторые документы по счету все-таки можно было просматривать..к чему можно тут прицепиться?
Добавлено: 13 авг 2008, 11:44
Алексей
oborot.tidk = тип док-та, к которому привязана проводка
Добавлено: 13 авг 2008, 15:12
J1nn
что дает oborot.tidk?
как с ним работать?
Добавлено: 13 авг 2008, 16:11
Den
Тут небольшой кусочек тока...
if getfirst katdoc where ((oborot.tidkgal==katdoc.tidkgal))=tsok
if getfirst usersdoc where ((oborot.tidk==usersdoc.TIPUSERS))=tsok {}
nazvdoc:='unknown';
nodoc :='unknown';
shname :='unknown';
case oborot.tidkgal of
110,101,201 :{
if getfirst katsopr where ((oborot.csoprdoc==katsopr.nrec))=tsok
{
nazvdoc:='акт №'+katsopr.nsopr+' от '+katsopr.dsopr;
nodoc :=katsopr.nsopr;
shname :='акт' ;
}
}
10 :{
if getfirst plpor where ((oborot.csoprdoc==plpor.nrec))=tsok
{
nazvdoc:='Бухгалтерская справка/'+usersdoc.NAME+' '+plpor.datob+' '+plpor.nodok ;
nodoc :=plpor.nodok;
shname :='бух справка' ;
}
}
1 :{
if getfirst plpor where ((oborot.csoprdoc==plpor.nrec))=tsok
{
nazvdoc:='собственная платежка/'+usersdoc.NAME+' '+plpor.datob+' '+plpor.nodok ;
nodoc :=plpor.nodok;
shname :='платежка' ;
}
}
end;
Добавлено: 14 авг 2008, 06:35
Алексей
J1nn писал(а):что дает oborot.tidk?
как с ним работать?
По нему видно, к какому типу документов привязана проводка. 211 - акт на продажу, 600 - накладная на вн. перемещение и т.п.
Добавлено: 14 авг 2008, 15:54
J1nn
спасибо. еще вопрос один.
мне надо закрыть счет 50.1 сам счет я закрываю без проблем,в саппорте-группа записей(фильтры), но
когда добавляю в условии поле subosschet<>01 ,то исчезают
все проводки с субсчетами 01, причем, я уже даже в секцию ИЛИ ставил это условие,что заведомо неправильно, так ради эксперемента.везде неправильно:)
Добавлено: 14 авг 2008, 19:06
Den
Ты хочешь чтобы юзверь видел все проводки, когда в связке
<счет дебет, субсчет дебет> или <счет кредит, субсчет кредит> не упоминается '50' '01' ?
Сия вещь, по всей видимости, невозможна. Посколько права в галактике суммируются к основным при задании фильтров (групп записей). А здесь напрашивается условие типа :
if (oborot.scheto='350' and oborot.subossch='01')
or (oborot.schetk='350' and oborot.subschk='01')
{
<снимаем права на чтение>
}
нельзя задать основные права на таблицу R-I-M-D и по условию снять их...
Хотя может я и не прав, но я дак так себе это представляю )
Добавлено: 15 авг 2008, 09:23
J1nn
Den писал(а):Ты хочешь чтобы юзверь видел все проводки, когда в связке
<счет дебет, субсчет дебет> или <счет кредит, субсчет кредит> не упоминается '50' '01' ?
да. сейчас я сделал следующие.
юзеру из основных прав убрал таблицу oborot вообще.
и по условию ее добавляю обратно,но уже чтоб он не видел счета:
if (oborot.scheto<>'350' )
or (oborot.schetk<>'350')
{
<даю права RIUD>
}
таким образом все работает ,счет становится недоступным. но стоит мне добавлять в условие субсчета, условие перестает корректно работать.
Добавлено: 15 авг 2008, 11:04
Den
J1nn писал(а):
да. сейчас я сделал следующие.
юзеру из основных прав убрал таблицу oborot вообще.
и по условию ее добавляю обратно,но уже чтоб он не видел счета:
if (oborot.scheto<>'350' )
or (oborot.schetk<>'350')
{
<даю права RIUD>
}
таким образом все работает ,счет становится недоступным. но стоит мне добавлять в условие субсчета, условие перестает корректно работать.
Странно немного..по идее при таком условии все должно быть видно. Например проводка Д360 К350 быдет видна )
Добавлено: 18 авг 2008, 16:30
J1nn
хм.. а как запретить субсчет-то?
когда в правах доступа, в условие для таблицы Oborot, ставлю
sсheto<>350 and
subosschet<>01
(таблица Oborot доступна с правами RIUD, для всех счетов кроме 50.01,
по моей мысли должно быть так:))
то фильтрует все счета 50 и все субсчета 01, то есть 76.01 тоже попадет в фильтрацию, а вот 76.03 будет в книге проводок
Добавлено: 18 авг 2008, 17:11
edward_K
надо not (sheto=350 and subossch=01). иначе вы закрываете все 01 сбусчета.
Добавлено: 19 авг 2008, 11:32
J1nn
я понимаю что условие вида
not (sheto=350 and subossch=01)
логически верное, но как его реализовать инструментами Support-группа записей(фильтры)? я же там могу выбрать только поле таблицы и его значение:)