Ограничить изменение документа другим пользователем

1. Mortalus 05.06.12 13:52 Сейчас в теме
Здравствуйте, помогите позжалуйста с проблемой. Необходимо, что бы созданный документ не могу изменить и сохранить другой пользователь кроме админа и глбуха. пишу в процедуре обработка проведение
Если НЕ(ПараметрыСеанса.ТекущийПользователь = ЭтотОбъект.автор) тогда
Иначе
отказ = истина;
Возврат;
КонецЕсли;

Но автор не проходит как в 1с8,2 бгу определяется автор?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. sai_NT 05.06.12 13:57 Сейчас в теме
(1) Mortalus, Во-первых, запрети менять ответственного.
Во-вторых, примерно так надо:
Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
	Если ОбменДанными.Загрузка  Тогда
		Возврат;
	КонецЕсли;
	
	Отказ = Не Ответственный = глЗначениеПеременной("глТекущийПользователь");
	...

БГУ не видел в лицо, поэтому, возможно, вместо Ответственный нужно написать Автор.
2. demarine 05.06.12 13:54 Сейчас в теме
4. Mortalus 05.06.12 14:17 Сейчас в теме
Извиняюсь где запретить менять ответственного?
6. demarine 05.06.12 14:21 Сейчас в теме
(4) Mortalus, в настройках пользователя пропиши Основного Ответственного и запрети доступ к настройкам.
(5) Mortalus, ну форму документа открой и посмотри как он в свойствах называется.
5. Mortalus 05.06.12 14:18 Сейчас в теме
автора и ответственного пробывал не проходит
7. Mortalus 05.06.12 14:24 Сейчас в теме
в бгу нет ответственного вроде где то читал
8. sai_NT 05.06.12 14:30 Сейчас в теме
(7) Mortalus, а в какой реквизит пишется создатель документа?
11. Mortalus 05.06.12 15:07 Сейчас в теме
(8) sai_NT,
Да без понятия куда пишется, если бы знал, куда и как.
9. winterspring 24 05.06.12 14:46 Сейчас в теме
Можно сделать как в Рознице:
Там есть регистр накопления "ОбъектыЗапрещенныеДляРедактирования" И при создании документа, при необходимости, заполняешь данный регистр. Потом можно при записи документа или при проведении проверять данный регистр.
В обычной бухгалтерии автор указывается в реквизите "Ответственный". Вполне возможно, что в бгу ответственного нет, либо он не заполняется, опять же ответственного можно изменить (в стандартной бухгалтерии). Я думаю, если уж реализовывать механизм защиты от изменений документа, то лучше использовать соответствующий регистр накопления.
10. sai_NT 05.06.12 14:55 Сейчас в теме
(9) winterspring, ага, и тогда уже никто не изменит документ, так как политика контроля по данному регистру такова, что если объект в нем присутствует, то гудбай!

(8) sai_NT, найди все же куда пишется создатель, чтобы мы не были пустословами.
15. winterspring 24 05.06.12 17:55 Сейчас в теме
(10) sai_NT, Под рукой нет такой конфы, а то бы посмотрел конечно куда пишется создатель. А по поводу регистра так очень просто. Если документ создает не главбух или еще кто-там из превелегированных, то в регистр ничего не пишется. Так же при проведении, если проводит главбух или еще кто-то то на регистр не смотрим.
12. sai_NT 05.06.12 15:12 Сейчас в теме
В форме списка или форме документа не отображается нигде?

Еще как вариант просмотреть все реквизиты документа на предмет наличия такого, у которого тип СправочникСсылка.Пользователи, скорее всего это он будет.
13. Mortalus 05.06.12 15:26 Сейчас в теме
Автор и пользователь последнего проведения отображаются в форме на самом верху на полосе где название дока номер и т.д.
14. sai_NT 05.06.12 15:32 Сейчас в теме
(13) Mortalus, Ну тогда ищи откуда берется эта инфа, возможно там же найдешь создателя.
16. YNik 05.06.12 21:26 Сейчас в теме
В БГУ это регистр сведений ИсторияЗаписиОбъектов, в первой записи по объекту Пользователь - это автор, а в остальных - это те, кто правил документ.
17. YNik 05.06.12 21:30 Сейчас в теме
Пример запроса по автору:
	|ВЫБРАТЬ
	|	ИсторияИзмененийОбъектовСрезПервых.Объект КАК Объект,
	|	ИсторияИзмененийОбъектовСрезПервых.Пользователь КАК АвторДокумента
	|ИЗ
	|	РегистрСведений.ИсторияЗаписиОбъектов.СрезПервых(, Объект = &Объект) КАК ИсторияИзмененийОбъектовСрезПервых
Оставьте свое сообщение

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