0
YurAnt
12.01.15
✎
22:05
|
Доброго времени господа-форумчане.
Хочу спросить вашего совета, на тему как сделать наиболее оптимально и "феншуйно".
Бух 3.0
Итак, задача:
от главбуха поступила установка, задать всем остальным смертным в базе (кроме самого главбуха)
запрет корректировки "даты запрета изменения документов".
Ну казалось бы халява-вопрос, взял да выставил всем права "бухгалтер", но как всегда есть парочка волосатых "НО".
1) Все бухи сидят под правами глав.бух-ра (
2) По словам главбуха весь функционал у них должен остаться, (отличие прав главбуха от бухов - только "дата запрета").
Варинаты которые вижу я:
1) Подписка на событие при записи регистра "даты запрета" (вешаем проверку например по УИДу пользователя)
2) Ищем роль, где бухам выставляется это право изменения регистра "даты запрета", копируем её.
Убираем право изменения. Ну и далее у пользователей на данное право ставим галку, на дефолтное - снимаем.
Минусы первого варианта: если выставить Отказ=Истина в подписке при записи, работать будет правильно,
но процедура записи будет валиться с ошибкой
//Процедура КорректировкаДатыЗапретаИзмененияДокументовПриЗаписи(Источник, Отказ, Замещение) Экспорт
// Глбух_УИд = ПользователиИнформационнойБазы.НайтиПоИмени("ИМЯ").УникальныйИдентификатор;
//
// Если ПользователиИнформационнойБазы.ТекущийПользователь().УникальныйИдентификатор <> Глбух_УИд Тогда
// Сообщить("Функция корректировки даты запрета изменения документов доступна только глав. бухгалтеру");
// Отказ = Истина;
// КонецЕсли;
//
//КонецПроцедуры
Можно ли обойти данный еррор? а то пользователи пугаться будут... поседеют еще.
Ну либо использовать вариант второй, но опять же придется отыскивать роль...
пока еще хз, как её отловить, подозреваю, что буду искать по смысловой нагрузке :)
возможно "ДобавлениеИзменениеБухгалтерскогоУчетаЗарплаты" но не уверен до конца.
Ну и кроме всего прочего какой из вариантов будет предпочтительнее с учетом того, что конфа еще будет обновляться?
С уважением, YurAnt.
|
|
1
Garykom
гуру
12.01.15
✎
22:20
|
(0) не фиг страдать фигней, если не учитывать возможность запуска обработки которая поменяет дату программно, то не проще ли запрет редактирования для реквизита на форме сделать?
с добавлением своей новой роли и контроля по ней?
ну или как сказано в 2 но новая роль "ЗапретРедактированияДатыЗапретаРедактирования" )) и всем ее добавить кроме "маршала артиллерии"
|
|