Запрет на редактирование

1. sergey-201 2 12.10.09 13:53 Сейчас в теме
Всем добрый день!
Подскажите у кого нибудь реализована такая возможность в программе.
Вообщем, требуется сделать запрет на редактирование документы "реализации товаров и услуг" а также "перемещение товаров" после их проведения (во избежании махинаций - как сказали мне) Причем, запрет именно на документы упр учета.
Может кто нибудь поделится своими соображениями по этому поводу и какими способами можно ограничить.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
14. Mantis 137 14.10.09 06:46 Сейчас в теме
У меня реализован механизм через процедуру глПроверкаРазрешенияРедактирования,
в справочник пользователей добавлена дата запрета редактирования доступная только администратору.
Попытки изменения регистрируются в журнале регистраций для того, чтоб знать кто пытался это сделать.
Банк разносится на пару дней позже, а вот оперативный учет идет день в день поэтому и пришлось разделить дату на каждого пользователя.

Если сюда добавить проверку на виды документов то можно запретить кому угодно и что угодно :)

СпрПольз=СоздатьОбъект("Справочник.Пользователи");
Если СпрПольз.НайтиПоНаименованию(ИмяПользователя(),,)=1 тогда
Польз=СпрПольз.ТекущийЭлемент();
КонтрДата=Польз.ДатаЗапретаДок;
Если ПустоеЗначение(КонтрДата)=1 Тогда
Предупреждение("Дата запрета на редактирование не установлена! Запись не возможна!!!", 60);

ЗаписьЖурналаРегистрации("Редактирование документа запрещено!!!",
Польз.Наименование,"!",Конт,2);

Конт.Форма.ТолькоПросмотр(1);
Возврат 1;
КонецЕсли;
иначе
Предупреждение("Пользователь системы не определен! Запись не возможна!!!", 60);
Конт.Форма.ТолькоПросмотр(1);
Возврат 1;
КонецЕсли;

Если Конт.Выбран() > 0 Тогда
//Если (Конт.ДатаДок<=Константа.ДатаЗапретаРедактирования)
Если (Конт.ДатаДок<=КонтрДата)
И (Конт.Форма.ТолькоПросмотр() = 0) Тогда
Конт.Форма.ТолькоПросмотр(1);
Предупреждение("Нельзя редактировать документы с датой, более ранней чем дата запрета редактирования документов!", 60);
ЗаписьЖурналаРегистрации("Редактирование документа запрещено!!!",
Польз.Наименование,"!",Конт,2);

Возврат 1;
КонецЕсли;
КонецЕсли;
2. Душелов 4021 12.10.09 14:05 Сейчас в теме
Можно посмотреть, как это реализовано в типовых конфигурациях.
3. Shaman100M 1151 12.10.09 14:58 Сейчас в теме
да, смотреть типовые, править предопределенные процедуры глобального модуля, например: ПриУдаленииДокумента() , ПриОтменеПроведенияДокумента() , ПриВыклВклПроводокОперации() - типа вот так http://infostart.ru/public/22232/

или использовать перехватчик событий
4. Altair777 646 12.10.09 15:02 Сейчас в теме
(3) Не только глобальник, но и ПриОткрытии() в самих документах
5. Shaman100M 1151 12.10.09 15:15 Сейчас в теме
(4) в типовых обычно есть вызов в них какой-нить глобальной, глПроверкаРазрешенияРедактирования()
6. Dragga 12.10.09 15:19 Сейчас в теме
Мона просто в правах у роли снять флаг редактирование проведенных и после если уж провел то все изменить не как
8. CheBurator 2684 13.10.09 01:54 Сейчас в теме
(6) правильно мыслишь.. для пользователей низкого уровня доступа в настройке прав просто выставить запрет изменения документов задним числом.. все...
7. Dragga 12.10.09 15:19 Сейчас в теме
ой сорь енто тока в 8 версиях
9. Altair777 646 13.10.09 10:07 Сейчас в теме
(8 ) не получится
sergey-201 пишет:
Причем, запрет именно на документы упр учета
10. CheBurator 2684 13.10.09 17:41 Сейчас в теме
(9) а в чем проблема? если док упр.учета выделен как отдельная сущность - что мешает на него ШТАТНО В КОНФИГЕ повесить запрет заднего числа?
11. Altair777 646 13.10.09 17:44 Сейчас в теме
(10) А в этом этом я как раз и сомневаюсь :)
Ждем ответа от ТС?
12. CheBurator 2684 13.10.09 17:46 Сейчас в теме
(11) фигли сомневаться? трясти надо!
13. Altair777 646 13.10.09 17:58 Сейчас в теме
Оставьте свое сообщение

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