Бюджет Блиц для Android - Возьмите расходы под контроль

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

Страницы: 1

День добрый.
Бухгалтера поставили задачу запретить редактировать проведенный документ. ТО есть защита от дурака. Не полностью запретить редактировать, а именно проведенный. То есть зашел бух в такой документ, прога говорит что изменять нельзя, но он может снять проведение и пусть меняет сколько хочет.
В ролях есть такая галка "Интерактивное изменение проведенных". Попробывал на ПолныхПравах...снял эту галку. Но логика 1С мне не ясна, да, он не дает изменять проведенный, но и снять проведение он то же теперь не дает, а нужно чтоб давал.
Никто с такой задачей не сталкивался? Каким образом настроить права чтоб такую фишку сделать?
Спасибо.


ПередЗаписью() проеверяй Если Проведен Тогда Отказ КонецЕсли;


Это я знаю :)
Но не буду же я такую проверку пихать в каждый документ. Я хотел бы такое именно правами настроить не влезая в конфу.

Ответили: (4) (5) (8)

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


alexk-is пишет:

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


Спасибо. Попробую так раз правами не получится.


В ролях есть такая галка "Интерактивное изменение проведенных"...снял эту галку. Но логика 1С мне не ясна, да, он не дает изменять проведенный, но и снять проведение он то же теперь не дает


Отмена проведения - это тоже изменение.)


Зарет редактирования в конфигурациях 1С 8.2 выполнен как-то очень мудрено....
Его еще и настраивать надо......
Наверняка "дырок" останется ....
В 77 было тупо но надежно.....


(3) хм, а как ты хотел роли изменять не влезая в конфу? о_О

сделай Подписку на событие, событие ПередЗаписью


то регулируется константой "ДАТА ЗАПРЕТА РЕДАКТИРОВАНИЯ ДОКУМЕНТОВ". Меню - "ОПЕРАЦИИ-КОНСТАНТЫ"

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

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

2. Откройте список пользователей. Найдите адинистратора. Откройте его и установите флаг "ОТКЛЮЧИТЬ КОНТРОЛЬ ПРАВ"
Теперь только администратор сможет устанавливать дату запрета редактирования документов.

Изменено: son555_555 - 27.12.11 15:57

Ответили: (10)

(9) спасибо Кэп! ты первый пост внимательно читал?


А при открытии если ЭтаФорма.ТолькоЧтение=ЭтотОбъектПроведен
почему бы не сделать?!

Ответили: (12)

(11) наверное ТолькоПросмотр, а не Чтение? потому, что распровести документ можно будет только из списка


Тут не все так просто. Снимать проведение должен и сам пользователь. Тут не стоит задачи закрыть документ, а именно запретить редактировать уже проведенный. То есть как я писал в самом начале защита от себя дурака.


Нашел одно решение. Не сильно красиво, но работает
Итак, делаем подписку на событие перед записью документов объектов, как было сказано выше.
В обработке события в модуде прописываем следудющий код

Если НЕ РольДоступна("ПолныеПрава") Тогда
	Если Источник.Проведен и (не Источник.ПометкаУдаления) Тогда
		Отказ = Истина;
		#Если Клиент Тогда
		Предупреждение("У текущего пользователя нет прав на изменение проведённых документов.", 10, "Недостаточно прав доступа");
		#КонецЕсли
	КонецЕсли; 
КонецЕсли;
...Показать Скрыть

В результате пользователи с неполными правами не смогут изменять проведённые документы, но смогут пометить/снять пометку проведённого документа, после чего изменить документ и провести.


Скопировала роль Менеджер по продажам. В документах убрала галку "Интерактивное изменение проведенных". Присвоила роль пользователю. Результат отрицательный. Как проводил и изменял, так все и осталось.


Пришлось по документам эти галочки убирать. После чего доступ к проведению у пользователя стал не доступен.


(14)Просто и не надо галочки в уме держать)

для импланта прекрасно подошла
Процедура ПередЗаписьюДокументаПроверкаДоступностиПериода

+ 1 [ Evgenn; ]
Страницы: 1
Форма ответов
Логин:
Пароль:
Текст сообщения*
Прикрепить файл