Здравствуйте. Такой вопрос, сделала в расширении форму для счета на оплату, добавила дополнительный реквизит. Задача состоит в том, чтоб ограничить доступ к документу, если реквизит счет закрыт равен истине. На форме все сделала, добавила, код тоже написала, но почему то не работает, в чем может быть ошибка?
&НаСервере
Функция ЕстьПраво()
Если НЕ РольДоступна("ДоступМенеджер") Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции
&НаКлиенте
Процедура Расш1_ПриОткрытииПосле(Отказ)
Если ЭтотОбъект.Элементы.СчетЗакрыт = Истина Тогда
ЭтаФорма.Доступность = ЕстьПраво();
КонецЕсли;
ЭтотОбъект.Элементы.СчетЗакрыт.Доступность = ЕстьПраво();
КонецПроцедуры
Когда документ открываешь с ограниченными правами, где стоит галочка(Истина), форма все равно доступна
&НаСервере
Функция ЕстьПраво()
Если НЕ РольДоступна("ДоступМенеджер") Тогда
Возврат Истина;
Иначе
Возврат Ложь;
КонецЕсли;
КонецФункции
&НаКлиенте
Процедура Расш1_ПриОткрытииПосле(Отказ)
Если ЭтотОбъект.Элементы.СчетЗакрыт = Истина Тогда
ЭтаФорма.Доступность = ЕстьПраво();
КонецЕсли;
ЭтотОбъект.Элементы.СчетЗакрыт.Доступность = ЕстьПраво();
КонецПроцедуры
Когда документ открываешь с ограниченными правами, где стоит галочка(Истина), форма все равно доступна
Прикрепленные файлы:
По теме из базы знаний
- Использование подсистемы "Управление доступом" из состава БСП версии 2.2+
- Возможности типовых шаблонов ограничения доступа на уровне записей (RLS)
- Организация дополнительного доступа к документам и справочникам для 1С: Бухгалтерии предприятия 3.0
- Запрет доступа к данным по зарплате для БП 3.0 и КА 2.5
- Описание языка запросов для функции "ПриЗаполненииОграниченияДоступа" при работе с производительным методом RLS
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(9) Тебя злобные админы инфостарта на гугле забанили?
https://www.google.com/search?q=%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%89%D0%B5%D0%BD%D0%BE+%D0 %B8%D0%B7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BF%D 0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B0+%D0%BE%D1%82% D0%BC%D0%B5%D0%BD%D1%8F%D1%8E%D1%89%D0%B5%D0%B3%D0%BE+%D0%B4 %D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5+1%D1%81&oq=%D0%97 %D0%B0%D0%BF%D1%80%D0%B5%D1%89%D0%B5%D0%BD%D0%BE+%D0%B8%D0%B 7%D0%BC%D0%B5%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5+%D0%BF%D0%B0%D1% 80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D0%B0%2C+%D0%BE%D1%82%D0%BC %D0%B5%D0%BD%D1%8F%D1%8E%D1%89%D0%B5%D0%B3%D0%BE+%D0%B4%D0%B 5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5&gs_lcrp=EgZjaHJvbWUqCg gCEAAYgAQYogQyBggAEEUYOTIHCAEQABiABDIKCAIQABiABBiiBDIKCAMQAB iABBiiBDIKCAQQABiABBiiBNIBCDI5NDBqMGo3qAIAsAIA&sourceid=chro me&ie=UTF-8
(10) Спасибо помогло, но теперь вот проблема, что без роли и с ролью недоступно поле счет закрыт, а мне его обязательно нужно закрывать, чтоб только те у кого роль есть могли ставить
&НаСервере
Функция ЕстьПраво()
Возврат РольДоступна("ДоступМенеджер")
КонецФункции
&НаКлиенте
Процедура Расш1_ПриОткрытииПеред(Отказ)
Если Объект.СчетЗакрыт = Истина Тогда
ЭтаФорма.Доступность = ЕстьПраво();
КонецЕсли;
ЭтаФорма.Элементы.СчетЗакрыт.Доступность = ЕстьПраво();
КонецПроцедуры
&НаСервере
Функция ЕстьПраво()
Возврат РольДоступна("ДоступМенеджер")
КонецФункции
&НаКлиенте
Процедура Расш1_ПриОткрытииПеред(Отказ)
Если Объект.СчетЗакрыт = Истина Тогда
ЭтаФорма.Доступность = ЕстьПраво();
КонецЕсли;
ЭтаФорма.Элементы.СчетЗакрыт.Доступность = ЕстьПраво();
КонецПроцедуры
(13) Где там? Что там? У тебя в 4 строчках кода 28 мест с булевыми выражениями. Давай, мы сами догадаемся на какой строчке ты поставила точку останова, и в каком выражении из этой строчке Ложь.
И заодно поверим (мамой клянусь, да?), что после этой процедуры больше в коде нигде никакая доступность не изменяется.
И перестань уже пытаться всей форме назначить Доступность.
И заодно поверим (мамой клянусь, да?), что после этой процедуры больше в коде нигде никакая доступность не изменяется.
И перестань уже пытаться всей форме назначить Доступность.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот