Отказ от проведения у регл.учете(Тонкий клиент)

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


А в тонком клиенте нет такого запрета.Подскажите, как решить эту проблему?Сделать свою подписку на событие с проверкой на режим запуска программы?
Вознаграждение за ответ
Показать полностью
Найденные решения
10. silwendil 22.05.13 14:20 Сейчас в теме
(9) sweety-twetty, это означает, что ПроверитьВозможностьОтраженияВРеглУчете возвращает истину, то есть либо нет запрета, либо функция работает неправильно, надо её код смотреть
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. juntatalor 63 22.05.13 13:55 Сейчас в теме
(1) sweety-twetty, в тонком клиенте не срабатывает код заключенный в #Если Клиент #КонецЕсли, потому что подписки в тонком клиенте вызываются на стороне сервера. Код до него должен срабатывать в любом случае (т.е. документ не должен проводиться, но при этом не должна выдаваться ошибка).

Вы отладчиком останавливаетесь на строке Отказ = Отказ ИЛИ ЗапретитьЗапись; ? Что после ее выполнения в переменной Отказ?
8. sweety-twetty 22.05.13 14:03 Сейчас в теме
(6) отладчиком туда не попадаю
2. sweety-twetty 22.05.13 13:31 Сейчас в теме
добавляю вознаграждение
3. silwendil 22.05.13 13:45 Сейчас в теме
Попробуй в условие
#Если Клиент Тогда
добавить тонкий клиент
#Если Клиент ИЛИ ТонкийКлиент Тогда

Но есть подозрение, что в модуле "ОбщегоНазначения" не отработает "СообщитьОбОшибке". Тогда лучше конструкцию оставить как есть а после неё дописать свою
#Если ТонкийКлиент Тогда
и в ней, например, вызвать исключение с текстом ошибки
4. sweety-twetty 22.05.13 13:48 Сейчас в теме
(3) но отказ ведь все равно должен сработать.а система в тонком клиенте перезаписывает документ
5. silwendil 22.05.13 13:53 Сейчас в теме
Можно попробовать так
#Если ТонкийКлиент Тогда
     ВызватьИсключение "Недостаточно прав для отражения в регламентированном учете. Изменения не могут быть записаны...";
#КонецЕсли
7. juntatalor 63 22.05.13 13:56 Сейчас в теме
(5) silwendil, этот код не сработает, подписки обрабатываются на сервере.
9. sweety-twetty 22.05.13 14:04 Сейчас в теме
Сделала Сообщить(Отказ) получила сообщение "Нет"
10. silwendil 22.05.13 14:20 Сейчас в теме
(9) sweety-twetty, это означает, что ПроверитьВозможностьОтраженияВРеглУчете возвращает истину, то есть либо нет запрета, либо функция работает неправильно, надо её код смотреть
11. sweety-twetty 22.05.13 14:44 Сейчас в теме
(10) спасибо что натолкнули на мысли -начала сообщениями выводить значения и начша что
Функция РазрешеноОтражениеВРеглУчете() Экспорт
	
	// В управляемом режиме отражение документов в учете производиться в соответствии с общими настройками.
	// Каждый пользователь в каждом первичном документе не управляет отражением его в учете.
	// В связи с этим для управляемого режима отдельное право на отражение в учете не используется
	Если ТекущийРежимЗапуска() = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение Тогда
		ЕстьПраво = Истина;
	Иначе
		ЕстьПраво = ПравоЕстьУПользователя(ПланыВидовХарактеристик.ПраваПользователей.РазрешитьОтражатьВРеглУчете, Ложь);
	КонецЕсли;
	
	Возврат ЕстьПраво;

КонецФункции // РазрешеноОтражениеВРеглУчете
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот