АЦРК: автоматический запрет редактирования для пользователей в БП 2.0

11.11.12

Администрирование - Информационная безопасность

В статье описано, как немного доработать конфигурацию БП 2.0, чтобы для пользователей автоматически устанавливался запрет редактирования предыдущего дня. Также рассказано, как же все-таки установить запрет редактирования не в монопольном режиме в не измененной конфигурации БП 2.0.

Скачать файлы

Наименование Файл Версия Размер
АвтоматическийЗапретРедактирования_БП20.rtf
.rtf 22,80Kb
27
.rtf 22,80Kb 27 Скачать

Как известно в конфигурации БП 2.0 нельзя штатными средствами установить дату запрета редактирования не в монопольном режиме. Это вызывает массу проблем, которые потом внедренцам приходится решать. (О чем думали разработчики - отдельный вопрос. Им много лет писали, но сделали они такую возможность только в БП 3.0. Причем в других конфигурациях такой проблемы нет).

Очень хотелось сделать для БП 2.0 что-то подобное АЦРК: Автоматический запрет редактирования для пользователей УТ 10.3. Немного углубившись в этот механизм в конфигурации обнаружил, что можно все-таки в типовой конфигурации устанавливать дату запрета и не в монопольном режиме. С другой стороны хотелось сделать и автоматический механизм установки даты запрета редактирования. Вроде все удалось.

1. Как в типовой бухгалтерии 2.0 установить дату запрета редактирования не в монопольном режиме ?

Вопрос очень актуальный. Как правило в течение рабочего дня не хочется выгонять всех пользователей, потому что это сложно. Они сидят в разных местах (кассир в кассе, например), у некоторых люди в очереди стоят, кому-то надо срочно отчет сделать или платежку подготовить и т.д. Кто-то от компьютера отошел. В общем главбух думает "установлю позже", но к концу дня забывает. В результате оказывается, что месяц закрыт, а дата запрета редактирования не установлена. Через месяц выясняется, что изменились остатки на конец предыдущего месяца и начинаются поиски причин и способов исправления.

Оказывается дату запрета все-таки можно установить и в немонопольном режиме. Это делается в режиме прямого редактирования регистра сведений "ГраницыЗапретаИзмененияДанных". Устанавливать надо дату запрета для каждой организации. Делать это может только пользователь с полными правами.

В штатной форме установки даты запрета редактирования есть три режима: ОбщаяДата, ПоОрганизациям и ПоОрганизациямИПользователям. Но режим ОбщаяДата соответствует не одной записи с пустой организацией и пользователем (как можно было бы предположить исходя из здравого смысла), а набору записей для всех организаций базы данных с одинаковой датой запрета редактирования. Поэтому надо заводить записи по всем организациям. Записи с пустой организацией в этот регистр вводить не надо, они ни на кого не подействуют.

На пользователей такое изменение подействует при следующем их входе в базу данных. Многим этого будет вполне достаточно.


2. Как в типовой бухгалтерии 2.0 сделать автоматический запрета редактирования вчерашнего дня при входе пользователей в систему?

Это тоже можно, но придется включить возможность изменения конфигурации и сделать небольшую доработку.

Только в отличие от УТ 10.3 в БП 2.0 нет возможности вводить новые дополнительные права пользователей, с помощью которых можно отделить пользователей, для которых будет действовать механизм запрета, от тех, на кого он действовать не будет. Поэтому действовать он будет на всех без исключения. Но это даже и лучше !

Но если при входе в систему будет автоматически закрываться предыдущий день для всех, как же редактировать прошлые периоды, если будет очень нужно ?

Ну во-первых есть возможнось отключить флажок "Использовать дату запрета для полных прав" и редактировать прошлые периоды. Но это сможет сделать только пользователь с полными правами. И он обязательно должен не забыть вернуть флажок на место.

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

Вроде все красиво. Сегодня 11.11 пользователь с утра зашел в базу, поработал, вышел из базы - для него закрылся период по 10.11 включительно. Завтра, 12.11 он войдет в базу, для него будет открыт период по 10.11 включительно, выйдет - закроется по 11.11 включительно. 12.11 останется открытым.

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

2.1 Делаем изменения в конфигурации.

К сожалению, придется включить возможность изменения конфигурации. Конечно, не хочется снимать бухгалтерию с поддержки, но ... Разработчиков убедить делать что-то в БП 2.0 теперь уже невозможно, когда 3.0 уже есть.

Итак, включаем возможность изменений, в настройке поддержки в самой верхней ветке конфигурации устанавливаем "Объект поставщика редактируется с сохранением поддержки".

 

Добавляем новый общий модуль "АЦРК_Привилегированный", в свойствах модуля устанавливаем флажки "Сервер", "Вызов сервера" и "Привилегированный".

Вот текст модуля:

=======

Процедура ЗакрытиеПредыдущегоДня(п_ОтступВДнях=1) Экспорт
    л_ПользовательОпределен = ЗначениеЗаполнено(ПараметрыСеанса.ТекущийПользователь);

    л_ВыборкаОрганизаций = Справочники.Организации.Выбрать();
    Пока л_ВыборкаОрганизаций.Следующий() Цикл
        л_Запись = РегистрыСведений.ГраницыЗапретаИзмененияДанных.СоздатьМенеджерЗаписи();
        л_Запись.Организация = л_ВыборкаОрганизаций.Ссылка;
       Если л_ПользовательОпределен Тогда
           л_Запись.Пользователь = ПараметрыСеанса.ТекущийПользователь;
       Иначе
       КонецЕсли;
       л_Запись.ГраницаЗапретаИзменений = НачалоДня(НачалоДня(ТекущаяДата())-п_ОтступВДнях*60*60*24);
       л_Запись.Записать();

       л_Запись = РегистрыСведений.ГраницыЗапретаИзмененияДанных.СоздатьМенеджерЗаписи();
       л_Запись.Организация = л_ВыборкаОрганизаций.Ссылка;
       л_Запись.Пользователь = "";
       л_Запись.ГраницаЗапретаИзменений = КонецГода(КонецДня(ТекущаяДата())+60);
       л_Запись.Записать();
   КонецЦикла;

   ПолныеПрава.УстановитьПараметрГраницыЗапретаИзмененияДанных();
КонецПроцедуры

=======

Теперь откроем модуль обычного приложения, найдем процедуру ПриЗавершенииРаботыСистемы() и перед ее окончанием вставим строку

    АЦРК_Привилегированный.ЗакрытиеПредыдущегоДня(1); //АЦРК

 

ВСЕ.

Параметр в процедуре ЗакрытиеПредыдущегоДня() определяет, на сколько дней дата запрета будет отставать от текущей даты.

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

Для открытия предыдущих периодов пользователь с полными правами должен устанавливать дату запрета вручную. Только надо помнить, что если он делает это для самого себя, то не надо выходить из программы, а надо зайти в нее еще раз со своим именем (открыть второй сеанс) и только после этого можно закрыть первый сеанс.

И обязательно установие флажок "Распространить дату запрета на пользователей с полными правами" в настройке программы, иначе все потеряет смысл.

 

 

См. также

AUTO VPN (portable)

Информационная безопасность Платные (руб)

Автоматизация подключения пользователей к удаленному рабочему месту или сети посредством создания автоматического VPN (L2TP или L2TP/IPSEC и т.д.) подключения без ввода настроек пользователем (с возможностью скрытия этих настроек от пользователя). Программа автоматически выполняет подключение к VPN серверу и после успешного коннекта , если необходимо, подключение к серверу удаленных рабочих столов (RDP).

1200 руб.

24.03.2020    14400    22    32    

33

Настройка аутентификации в 1С с использованием стандарта RFC 7519 (JWT)

Информационная безопасность Платформа 1С v8.3 Бесплатно (free)

Рассмотрим в статье более подробную и последовательную настройку аутентификации в 1С с использованием распространенной технологии JWT, которая пришла в программу в платформе версии 8.3.21.1302.

27.02.2024    2620    PROSTO-1C    9    

29

Device flow аутентификация, или туда и обратно

Информационная безопасность Платформа 1С v8.3 Абонемент ($m)

Интеграционные решения стали неотъемлемой частью нашей жизни. Правилом хорошего тона в современных приложениях является не давать интегратору доступ к чувствительным данным. Device flow позволяет аутентифицировать пользователя, не показывая приложению чувствительные данные (например: логин и пароль)<br> Рассмотрим Device flow аутентификацию, в приложении, на примере OpenID провайдера Yandex.

1 стартмани

27.10.2023    1619    platonov.e    1    

23

Анализатор безопасности базы сервера 1С

Информационная безопасность Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

Продукты на основе решений 1С уверенной поступью захватывают рынок учётных систем в стране. Широкое распространение программ всегда порождает большой интерес к ним со стороны злоумышленников, а пользователь 1С это одна из дверей в защищённый информационный контур предприятия. Обработка позволяет быстро и комплексно оценить настройки безопасности конкретной базы и возможности пользователя этой базы на сервере. Также можно оценить некоторые аспекты сетевой безопасности предприятия со стороны сервера 1С.

5 стартмани

24.04.2023    5440    14    soulner    7    

29

Двухфакторная аутентификация в 1С через Telegram и Email

Информационная безопасность Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

1С, начиная с версии платформы 8.3.21, добавили в систему возможность двойной аутентификации. Как это работает: в пользователе информационной базы появилось свойство «Аутентификация токеном доступа» (АутентификацияТокеномДоступа во встроенном языке), если установить этот признак и осуществить ряд манипуляций на встроенном языке, то появляется возможность при аутентификации отправлять HTTP запросы, которые и реализуют этот самый второй фактор. Данное расширение позволяет организовать двухфакторную аутентификацию с помощью электронной почты или мессенджера Telegram.

2 стартмани

08.12.2022    5970    32    Silenser    12    

23

История одного взлома или проверьте вашу систему на безопасность

Информационная безопасность Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

От клиента клиенту, от одной системы к другой, мы вновь и вновь встречаем одни и те же проблемы и дыры в безопасности. На конференции Infostart Event 2021 Post-Apocalypse Виталий Онянов рассказал о базовых принципах безопасности информационных систем и представил чек-лист, с помощью которого вы сможете проверить свою систему на уязвимость.

26.10.2022    9250    Tavalik    46    

113
Оставьте свое сообщение