Запрет на редактирование проведенного документа.

1. mmv1977 26.12.11 16:11 Сейчас в теме
День добрый.
Бухгалтера поставили задачу запретить редактировать проведенный документ. ТО есть защита от дурака. Не полностью запретить редактировать, а именно проведенный. То есть зашел бух в такой документ, прога говорит что изменять нельзя, но он может снять проведение и пусть меняет сколько хочет.
В ролях есть такая галка "Интерактивное изменение проведенных". Попробывал на ПолныхПравах...снял эту галку. Но логика 1С мне не ясна, да, он не дает изменять проведенный, но и снять проведение он то же теперь не дает, а нужно чтоб давал.
Никто с такой задачей не сталкивался? Каким образом настроить права чтоб такую фишку сделать?
Спасибо.
+
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. vladshnurkoff 82 26.12.11 16:55 Сейчас в теме
ПередЗаписью() проеверяй Если Проведен Тогда Отказ КонецЕсли;
+
3. mmv1977 26.12.11 16:57 Сейчас в теме
Это я знаю :)
Но не буду же я такую проверку пихать в каждый документ. Я хотел бы такое именно правами настроить не влезая в конфу.
+
4. alexk-is 6534 26.12.11 17:07 Сейчас в теме
(3) Зачем для каждого? Сделай подписку на событие ПередЗаписью для источника ДокументОбъект и будет тебе счастье.
+
5. mmv1977 26.12.11 17:24 Сейчас в теме
alexk-is пишет:

(3) Зачем для каждого? Сделай подписку на событие ПередЗаписью для источника ДокументОбъект и будет тебе счастье.


Спасибо. Попробую так раз правами не получится.
+
8. MustDieff 27.12.11 15:49 Сейчас в теме
(3) хм, а как ты хотел роли изменять не влезая в конфу? о_О

сделай Подписку на событие, событие ПередЗаписью
+
6. 1cUserAndrew 63 26.12.11 17:48 Сейчас в теме
В ролях есть такая галка "Интерактивное изменение проведенных"...снял эту галку. Но логика 1С мне не ясна, да, он не дает изменять проведенный, но и снять проведение он то же теперь не дает


Отмена проведения - это тоже изменение.)
EvgeniyOlxovskiy; +1
7. Umga2002 7 27.12.11 01:01 Сейчас в теме
Зарет редактирования в конфигурациях 1С 8.2 выполнен как-то очень мудрено....
Его еще и настраивать надо......
Наверняка "дырок" останется ....
В 77 было тупо но надежно.....
+
9. son555_555 27.12.11 15:57 Сейчас в теме
то регулируется константой "ДАТА ЗАПРЕТА РЕДАКТИРОВАНИЯ ДОКУМЕНТОВ". Меню - "ОПЕРАЦИИ-КОНСТАНТЫ"

Зайдите в Конфигуратор. Откройте конфигурацию.

1. Откройте закладку "ПРАВА". Откройте ее. Найдите в константах -"ДАТА ЗАПРЕТА НА РЕДАКТИРОВАНИЕ". Откройте. Уберите права на редактирование этой константы. Сохраните кофигурацию.

2. Откройте список пользователей. Найдите адинистратора. Откройте его и установите флаг "ОТКЛЮЧИТЬ КОНТРОЛЬ ПРАВ"
Теперь только администратор сможет устанавливать дату запрета редактирования документов.
+
10. MustDieff 27.12.11 16:01 Сейчас в теме
(9) спасибо Кэп! ты первый пост внимательно читал?
+
11. kejsi 2 27.12.11 17:31 Сейчас в теме
А при открытии если ЭтаФорма.ТолькоЧтение=ЭтотОбъектПроведен
почему бы не сделать?!
cpo-it; +1
12. MustDieff 28.12.11 11:34 Сейчас в теме
(11) наверное ТолькоПросмотр, а не Чтение? потому, что распровести документ можно будет только из списка
cpo-it; +1
13. mmv1977 28.12.11 11:41 Сейчас в теме
Тут не все так просто. Снимать проведение должен и сам пользователь. Тут не стоит задачи закрыть документ, а именно запретить редактировать уже проведенный. То есть как я писал в самом начале защита от себя дурака.
+
15. may1c 2 11.03.12 11:56 Сейчас в теме
Скопировала роль Менеджер по продажам. В документах убрала галку "Интерактивное изменение проведенных". Присвоила роль пользователю. Результат отрицательный. Как проводил и изменял, так все и осталось.
+
16. may1c 2 11.03.12 11:58 Сейчас в теме
Пришлось по документам эти галочки убирать. После чего доступ к проведению у пользователя стал не доступен.
+
17. Altez 256 10.11.12 20:10 Сейчас в теме
(14)Просто и не надо галочки в уме держать)

для импланта прекрасно подошла
Процедура ПередЗаписьюДокументаПроверкаДоступностиПериода
Evgenn; +1
18. AZel84 51 02.03.12 13:37 Сейчас в теме
Нашел одно решение. Не сильно красиво, но работает
Итак, делаем подписку на событие перед записью документов объектов, как было сказано выше.
В обработке события в модуде прописываем следудющий код
Если НЕ РольДоступна("ПолныеПрава") Тогда
	Если Источник.Проведен и (не Источник.ПометкаУдаления) Тогда
		Отказ = Истина;
		#Если Клиент Тогда
		Предупреждение("У текущего пользователя нет прав на изменение проведённых документов.", 10, "Недостаточно прав доступа");
		#КонецЕсли
	КонецЕсли; 
КонецЕсли;
Показать

В результате пользователи с неполными правами не смогут изменять проведённые документы, но смогут пометить/снять пометку проведённого документа, после чего изменить документ и провести.
criptid; Garik8866; skillful; kossmatiy; assa; didkovskij; +6
19. pridecom 795 05.02.19 07:57 Сейчас в теме
Через расширение в модуль документа

Процедура ОбработкаУдаленияПроведения(Отказ)
	Если не РольДоступна("пмРедактироватьПроведенные") Тогда
		Отказ = истина ;	
	КонецЕсли;
mip128; +1
20. mip128 15.12.22 20:29 Сейчас в теме
(19)индастриал решение, самое нормальное
+
21. пользователь 15.12.22 20:35
Сообщение было скрыто модератором.
...
22. mip128 15.12.22 20:38 Сейчас в теме
(21) зачем сразу оскорблять? Решение хорошее, потому что использует специально назначенное событие и дает пространство для настройки, а не хардкодно проверяет наличие полных прав.
+
23. пользователь 15.12.22 20:41
Сообщение было скрыто модератором.
...
24. mip128 15.12.22 20:46 Сейчас в теме
(23) обработкаУдаленияПроведения, если мне память не изменяет, вызывается при любом изменении проведенного документа
+
25. пользователь 15.12.22 20:47
Сообщение было скрыто модератором.
...
26. mip128 15.12.22 21:05 Сейчас в теме
(25)а нет, лол. Можешь теперь считать, что из франча ))
EvgeniyOlxovskiy; user1881120; +2
Внимание! Тема сдана в архив

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