Доступность кнопки «Перейти на версию». УТ 11.5

Решили некоторым пользователям сделать доступной кнопку «Перейти на версию» в истории версий.

Но для начала пришлось дать пользователям права на просмотр истории версий, иначе версии вообще не показывались:

Но после этого не стала доступной кнопка перехода на версию. Я почитал статью как назначить права на эту кнопку, но она оказалась не актуальной.

Пришлось поработать отладчиком с формой РегистрСведений.ВерсииОбъектов.ВыборХранимыхВерсий:

Увы, право доступа на кнопку прописано в коде и разрешается только полноправному пользователю:

Пришлось сделать расширение:

&НаСервере
Процедура дор_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
	
	//Осипов - даем права перехода на версию
	//	ПереходНаВерсиюРазрешен = Пользователи.ЭтоПолноправныйПользователь() И Не ТолькоПросмотр;
	ПереходНаВерсиюРазрешен = Не ТолькоПросмотр;
	Элементы.ПерейтиНаВерсию.Видимость = ПереходНаВерсиюРазрешен;

КонецПроцедуры

И потом еще одно, чтобы отключить еще один контроль полноправного пользователя в ОМ.ВерсионированиеОбъектов:

&ИзменениеИКонтроль("ПерейтиНаВерсиюСервер")
Функция дор_ПерейтиНаВерсиюСервер(Ссылка, НомерВерсии, ТекстСообщенияОбОшибке, ОтменаПроведения)

#Удаление
	Если Не Пользователи.ЭтоПолноправныйПользователь() Тогда
		ВызватьИсключение НСтр("ru = 'Недостаточно прав для выполнения операции.'");
	КонецЕсли;
#КонецУдаления

	...

КонецФункции

Среда: 11.5.12.53 Объем: 0.5 час

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *