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

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 6533 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 Сейчас в теме
А при открытии если ЭтаФорма.ТолькоЧтение=ЭтотОбъектПроведен
почему бы не сделать?!
12. MustDieff 28.12.11 11:34 Сейчас в теме
(11) наверное ТолькоПросмотр, а не Чтение? потому, что распровести документ можно будет только из списка
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)Просто и не надо галочки в уме держать)

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

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

Процедура ОбработкаУдаленияПроведения(Отказ)
	Если не РольДоступна("пмРедактироватьПроведенные") Тогда
		Отказ = истина ;	
	КонецЕсли;
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 Ответить
Оставьте свое сообщение
Вакансии
Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день