Отказ от проведения у регл.учете(Тонкий клиент)
Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
Добрый день, подскажите, в толстом клиенте,если у пользователя не выставлено доп.право "Отражать в регл.учете" при попытке удалить или изменить получаю сообщение "Недостаточно прав для отражения в регламентированном учете. Изменения не могут быть записаны..." и отказ от записи(Срабатывает от подписки на событие ПередЗаписью).
Код подписки:
А в тонком клиенте нет такого запрета.Подскажите, как решить эту проблему?Сделать свою подписку на событие с проверкой на режим запуска программы?
Код подписки:
Процедура ПередЗаписьюДокументаОтражениеВРеглУчетеПередЗаписью(Источник, Отказ, РежимЗаписи, РежимПроведения) Экспорт
ЗапретитьЗапись = НЕ ПроверитьВозможностьОтраженияВРеглУчете(Источник, РежимЗаписи);
Отказ = Отказ ИЛИ ЗапретитьЗапись;
#Если Клиент Тогда
Если ЗапретитьЗапись Тогда
ТекстСообщения = "Недостаточно прав для отражения в регламентированном учете. Изменения не могут быть записаны...";
Заголовок = "Запись документа: " + Строка(Источник);
ОбщегоНазначения.СообщитьОбОшибке(ТекстСообщения, , Заголовок, СтатусСообщения.Важное, Источник.Ссылка);
КонецЕсли;
#КонецЕсли
КонецПроцедуры
ПоказатьА в тонком клиенте нет такого запрета.Подскажите, как решить эту проблему?Сделать свою подписку на событие с проверкой на режим запуска программы?
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) sweety-twetty, в тонком клиенте не срабатывает код заключенный в #Если Клиент #КонецЕсли, потому что подписки в тонком клиенте вызываются на стороне сервера. Код до него должен срабатывать в любом случае (т.е. документ не должен проводиться, но при этом не должна выдаваться ошибка).
Вы отладчиком останавливаетесь на строке Отказ = Отказ ИЛИ ЗапретитьЗапись; ? Что после ее выполнения в переменной Отказ?
Вы отладчиком останавливаетесь на строке Отказ = Отказ ИЛИ ЗапретитьЗапись; ? Что после ее выполнения в переменной Отказ?
Попробуй в условие добавить тонкий клиент
Но есть подозрение, что в модуле "ОбщегоНазначения" не отработает "СообщитьОбОшибке". Тогда лучше конструкцию оставить как есть а после неё дописать свою и в ней, например, вызвать исключение с текстом ошибки
#Если Клиент Тогда
#Если Клиент ИЛИ ТонкийКлиент Тогда
Но есть подозрение, что в модуле "ОбщегоНазначения" не отработает "СообщитьОбОшибке". Тогда лучше конструкцию оставить как есть а после неё дописать свою
#Если ТонкийКлиент Тогда
(10) спасибо что натолкнули на мысли -начала сообщениями выводить значения и начша что
Функция РазрешеноОтражениеВРеглУчете() Экспорт
// В управляемом режиме отражение документов в учете производиться в соответствии с общими настройками.
// Каждый пользователь в каждом первичном документе не управляет отражением его в учете.
// В связи с этим для управляемого режима отдельное право на отражение в учете не используется
Если ТекущийРежимЗапуска() = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение Тогда
ЕстьПраво = Истина;
Иначе
ЕстьПраво = ПравоЕстьУПользователя(ПланыВидовХарактеристик.ПраваПользователей.РазрешитьОтражатьВРеглУчете, Ложь);
КонецЕсли;
Возврат ЕстьПраво;
КонецФункции // РазрешеноОтражениеВРеглУчете
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот