powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Запретить изменение документов
16 сообщений из 16, страница 1 из 1
Запретить изменение документов
    #35860479
Фотография Masygreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Подскажите каким механизмом лучше защитить документы....
есть несколько видов документов - создают проводки - по проводкам отчеты ...
необходимо на чтоб где то можно было вводить дату (типа закрытия периода) - по которой документы меньше этой даты можно было только смотреть(печатать формы из них и списки), а изменять (удалять, добавлять) было невозможно?

на сколько я понял из документации стандартного функционала на эту тему нет - отдано на откуп разработчику.
Дык чем предпочтительнее пользоваться?
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35860583
Сисой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Masygreen
на сколько я понял из документации стандартного функционала на эту тему нет - отдано на откуп разработчику.
Дык чем предпочтительнее пользоваться?

Здравствуйте, я ваша тетя.
Этот функционал реализован практически в любой типовой 1С.
Кроме того, телепатов в настоящее время на форуме нет. Где версия платформы и название конфигурации 1С?
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35860637
Фотография Masygreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
версия 8.1 конфигурация самописная своя.. платформа любая..
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35860643
Фотография Masygreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PostgreSQL
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35860722
Господин ПЖ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
из типовой дернуть - совесть не позволяет?
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35860930
Geep
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создайте константу, в которой будете хранить вашу дату
запрета редактирования (DateFix).
Подпишитесь на событие BeforeWrite всех документов системы
(или только тех, которые нужно контролировать).
В обработчике события сравнивайте Вашу константу с датой объекта Document,
и если она Вас не устроит, присваивайте флагу Cancel значение True.

Ну может придется сопутствующих проверок или каких-то
действий с регистрами добавить при изменении этой константы.
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35861255
Фотография Masygreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Geep
Подпишитесь на событие BeforeWrite всех документов системы


надо в форме каждого документа писать обработку на это событие или можно глобально зацепиться как то?
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35861276
Сисой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasygreenGeep
Подпишитесь на событие BeforeWrite всех документов системы


надо в форме каждого документа писать обработку на это событие или можно глобально зацепиться как то?

Платформу-то знать надо... Хотя бы в объеме примитивного трехдневного курса или книг Радченко+Белоусова/Островерха.

По существу:
Конфигуратор/Дерево конфигурации/Общие/Подписки на события
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35861285
Фотография Deosfen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ролях шаблон ограничения, в документе применяете роль.
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35861420
nicktcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Masygreen,

Возьмите какую-нить типовую конфу, например, Бухалтерию(думаю, что в любой так сделано). Описывать весь механизм не буду, расскажу вкратце: есть регистр сведений "ГраницаЗапретаИзмененияДанных". Там есть измерения "Организация", "Пользователь" и ресурс "ГраницаЗапрета", т.е. собственно, дата контроля. Т.о. можно настраивать контроль доступа как на уровне пользователей, так и на уровне организаций. В ролях пользователей нужно настроить фильтры RLS на доступ к объектам, в т.ч. нужным документам с учетом этого регистра. Смотрите типовую конфу. Удачи)
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35861504
Сисой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nicktcherВозьмите какую-нить типовую конфу, например, Бухалтерию...

Учтите, что RLS потребляет доп. ресурсы и притормаживает работу. В Вашей задаче проще и эффективнее использовать подписки на события.
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35861547
Фотография Masygreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибки... в 1с не прогаю, но появилась задача которую решено было сделать в виде конфигурации 1с8 .. в принципе все написать можно, но нужно направление куда копать... а так уже все почти готово - осталось только период ограничить :)
всем премного благодарен!!!
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35861969
nicktcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сисой
Учтите, что RLS потребляет доп. ресурсы и притормаживает работу. В Вашей задаче проще и эффективнее использовать подписки на события.

Потребляет, но немного. Во всяком случае, на нормальном оборудовании этого не чувствуется.
Другое дело, что я ошибся, когда сказал, что границы запрета проверяются в фильтре RLS. Извиняюсь за дезу)). Тут глянул, в типовой немного по-другому сделано - при начале работы устанавливается параметр сеанса, куда считывается как раз инфа из регистра "Границы...", а потом в обработчиках объектов "ПриЗаписи" идет проверка.
Кстати, я как раз не согласен с тем, что подписка на события - хорошая идея, мне кажется, что как раз подписчики тратят куда-как больше ресурсов, чем более, что они отрабатывают на сервере 1С, а RLS - на сервере СУБД. ИМХО, с точки зрения производительности лучше больше загружать работой СУБД и максимально разгружать сервер 1С.
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35862003
Фотография Masygreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за участие - решено
Создана константа и фейс к ней -
Код: plaintext
Константы.АктивныйПериод 
Повесить обработчики на:
ПередЗаписью,
ПередУдалением,
ОбработкаПроведения,
ОбработкаУдаленияПроведения

засунут код:

Код: plaintext
1.
2.
3.
 Если КонецДня(Источник.Дата) < КонецДня(Константы.АктивныйПериод.Получить()) Тогда
  Отказ = Истина;
  Сообщить("Запрещено записывать документы в закрытом периоде");  
КонецЕсли;

также на открытие документа повешена функция запрещения редактирования - т.к. если использовать только вышестоящие навески пользователь может перевести дату документа и спокойно сохранить его, а потом удалить :) - это конечно саботаж но.. мало ли

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Процедура  ТолькоЧтение (Документ) Экспорт
ДатаДокумента = Документ.ЭлементыФормы.Дата.Значение;
Если ДатаДокумента = Дата( 1 , 1 , 1 ) Тогда ДатаДокумента = ТекущаяДата(); КонецЕсли;
Документ.ТолькоПросмотр = Ложь;	
Если КонецДня(ДатаДокумента) < КонецДня(Константы.АктивныйПериод.Получить()) Тогда
  Документ.ТолькоПросмотр = Истина;
 КонецЕсли;
КонецПроцедуры


правда есть малая трабла с юзабилити - когда срабатывает отказ - вылазит беспонтовое окно ошибки ... и Документ.ТолькоПросмотр = Истина; влияет только на форму а на кнопки в форме не влияет .. но это мелочи галовное все пашет ...
СПАСИБО БОЛЬШОЕ!
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35862054
nicktcher
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Masygreen,

Маленький совет по юзабилити:
делайте проверку вашей константы и устанавливайте св-во документа "ТолькоПросмотр" не при записи, а при открытии, т.е. в обработчике формы документа "ПриОткрытии". А так Вы пытаетесь пить боржоми в момент когда почки уже отвалились)))
И ещё: константа всё таки недостаточно гибкое решение, например, если Вы захотите управлять доступом с учетом каких-нибудь данных - по пользователям или по организации, то константа не позволит делать подобные проверки. Удачи с 1С, обращайтесь, если что)
...
Рейтинг: 0 / 0
Запретить изменение документов
    #35872903
Enot5467
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вроде как для кнопок (и всех контролов не становящихся "ТолькоПросмотр") в свойствах надо установить "Изменяет данные"
Кажется так
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Запретить изменение документов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]