1с ут дата запрета редактирования
Дата запрета редактирования данных — стандартная функция конфигураций 1С 8.3, использующих библиотеку стандартных подсистем (БСП). Данный механизм позволяет задавать ограничения для редактирования, добавления, удаления и проведения документов ранее определенной даты. Иначе говоря, позволяет закрыть период для редактирования. Запрет можно устанавливать как в целом во всей программе. Так и по отдельным объектам, например, по организациям. Так же его можно установить для определенных пользователей. Как правило, настраивает и определяет даты запрета, главный бухгалтер или администратор системы, либо иной пользователь с полными правами доступа.
Устанавливать дату запрета приходится так как очень часто возникает ситуация, когда кто-либо из пользователей «случайно» открыл, перепровел или вообще изменил документ закрытого периода. В результате, как минимум придется восстанавливать последовательность документов и перезакрывать месяц, а это в свою очередь может привести к разночтениям в текущих данных и данных отраженных в регламентированных отчетах. В оперативном или управленческом учете, могут появиться расхождения, в том числе и отрицательные остатки. Поэтому внесение корректировок в старые периоды должно делаться аккуратно и только при необходимости.
На что влияет дата запрета
После установки запрета редактирования будет запрещено изменение, проведение и удаление документов. Таким образом, дата запрета
- не позволяет записать существующий документ с датой, входящей в период запрета
- запрещает сохранить новый документ с датой, входящей в период ограничений
- не позволяет удалить документы, помеченные на удаление, с датой, входящей в запрещенный период
Обратите внимание, дата запрета распространяется только на документы, но не на справочники и регистры сведений. Поэтому некоторые реквизиты, хранящиеся «вне документов» можно поменять. Например, статусы счетов или информацию об оригиналах документов при желании можно поменять.
Простая настройка даты запрета
Для включения функции запрета редактирования необходимо перейти в раздел Администрирование (Администрирование и НСИ) – Настройки пользователей и прав. На открывшейся форме необходимо включить флажок Даты запрета изменения и перейти по ссылке Настроить.
Самой простой является настройка общей даты запрета для всех пользователей. При такой настройке никто, даже вы сами, не сможете изменить документы в закрытом периоде. Для их корректировки придется отключать или изменять дату запрета. Данная настройка является наиболее широкой. Она эффективно страхует от случайных, в том числе и собственных ошибок.
Общие ограничения по пользователям
Когда требуется назначить ограничения для определенных пользователей, необходимо перейти на вкладку По пользователям. Далее необходимо указать с помощью кнопки Подобрать нужных пользователей. Таким образом, можно настроить даты запретов в зависимости от компетенции и должности того или иного пользователя системы. Например, бухгалтеры могут использовать более широкий период для коррекции, чем, скажем, кладовщики.
Ограничения по разделам и объектам
Важной настройкой ограничений является возможность установки запрета на определенные разделы и объекты учета. В поле Указывать дату запрета доступны следующие значения:
- Общая дата – дата запрета задается для всех данных.
- По разделам – для каждого раздела программы устанавливается своя дата запрета. При этом становится доступным список, в который можно добавлять Разделы и указывать для каждого раздела свое значение даты запрета.
- По разделам и объектам – даты запрета задаются и в разрезе разделов, и в разрезе объектов. Для каждого объекта устанавливается своя дата запрета. Если выбрано это значение, то становится доступным список, в который можно добавлять объекты и указывать для каждого объекта свое значение даты запрета.
Например, способ указания по разделам и объектам, можно использовать, когда в системе ведется учет по нескольким организациям. Поэтому, если вы хотите настроить запрет только определенным организациям, а для других хотите оставить возможность корректировки, необходимо выбрать именно этот способ. Таким образом, для настройки запрета изменений для интересующей вас организации в таблице разделов достаточно выбрать нужный раздел и нажать на кнопку Подобрать. Далее нужно указать организации, запрет по которым необходимо установить.
Таким способом можно настроить схему для разветвленной структуры предприятия.
Настройка автоматической установки даты запрета
Установка фиксированного значения даты запрета требует постоянного контроля. Другими словами, придется постоянно менять ее вручную. В 1С есть возможность настройки автоматического обновления даты запрета в соответствии с заданными параметрами. Например, можно настроить регулярное изменение даты запрета. Система будет автоматически продлевать даты запрета редактирования данных. Привязка может быть установлена к концу прошлого года, прошлого квартала, прошлого месяца, прошлой недели или предыдущему дню.
Для настойки автоматического формирования даты запрета необходимо перейти по ссылке «Больше возможностей». Там же, можно дополнительно установить отсрочку в днях для запрета.
Комбинация ограничений по пользователям и объектам
Как уже писалось выше, устанавливать запреты можно для конкретных пользователей. При этом для них существует возможность настройки индивидуальных ограничений по разделам и объектам. Такие ограничения описываются аналогично, с той лишь разницей, что заполнять их нужно для каждого пользователя.
Сброс и отключение дат запрета
Сбросить установленные настройки можно выбором пункта «Не установлена» в строке дата запрета. Для полного отключения всех установленных дат запрета редактирования, достаточно снять флажок «Даты запрета изменения»
Особенности использования.
Обратите внимание, что на данные хранящиеся в справочниках и некоторых регистрах установка даты запрета редактирования не влияет. Поэтому их изменение может привести к искажению отраженных ранее показателей, даже при установленной дате запрета. Разработчики стараются контролировать изменение таких показателей, поэтому на предупреждения которые выдает система, всегда стоит обращать внимание.
Тем не менее, некоторые показатели можно изменить без последствий. Например статусы оплаты и отгрузки счетов на оплату. Сделать это можно непосредственно в журнале счетов, выбрав соответствующую команду в контекстном меню.
На этом все. Приятной и удобной работы!
Подписывайтесь на наши группы в социальных сетях, чтобы не пропустить новые публикации.
Для того чтобы обезопасить себя и свое дело от шаловливые ручек пользователей, можно настроить дату запрета изменений, после чего ни кто не сможет изменить какие либо документы. Данный функционал есть практически в каждой конфигурации 1С Предприятия. Но сегодня поговорим об Управление торговлей редакции 11, и посмотрим как в ней можно настроить дату запрета изменений с различными ограничениями. Настроим ограничения как для пользователей так и для различных объектов самой конфигурации.
Так же рекомендую прочитать следующие интересные статьи касающиеся 1С Предприятия.
Как установить дату запрета с ограничениями в УТ 11
Включить дату запрета можно если открыть раздел «НСИ и администрирование» и выбрать пункт «Настройка пользователей и прав».
В открывшемся окне ищем пункт «Даты запрета изменения» раскрываем его отмечаем галочкой «Даты запрета изменения» и жмем «Настроить»
Устанавливаем необходимую дату и чуть ниже в поле «Указывать дату запрета» » выбираем «Общая дата», в принципе на этом можно остановиться, так как теперь ни один документ созданный раньше этой даты изменить будет не возможно.
Но если выбрать пункт «Больше возможностей» можно выбрать не конкретное число а например, указать «Конец прошлой недели», в результате дата запрету будет автоматически сдвигаться.
Можно установить дату запрета изменений для каждого раздела конфигурации по отдельности, для этого в поле «Указать дату запрета» выбираем пункт «По разделам».
В открывшемся окне устанавливаем даты запрета для нужных разделов.
Конечно же можно разрешить определенным пользователям изменять документы в не зависимости от установленный даты запрета, для этого сверху нужно перейти в раздел «По пользователям» и добавить в список тех кому можно будет изменять документы.
Вот так достаточно просто можно установить дату запрета изменений в конфигурации Управление торговлей редакции 11 и настроить необходимые ограничения. Как я уже говорил во всех конфигурация дата запрета настраивается примерно одинакова, поэтому достаточно один раз это запомнить.
Дата запрета редактирования данных — стандартная функция конфигураций 1С 8.3. Данный механизм позволяет задавать ограничения для редактирования, добавления, удаления и проведения документов ранее определенной даты. Иначе говоря, позволяет закрыть период для редактирования . Запрет можно устанавливать как в целом во всей программе. Так и по отдельным объектам, например, по организациям. Так же его можно установить для определенных пользователей.
На что влияет дата запрета
После установки запрета редактирования будет запрещено изменение, проведение и удаление документов. Таким образом, дата запрета
Простая настройка даты запрета
Для включения функции запрета редактирования необходимо перейти в раздел Администрирование (Администрирование и НСИ) – Настройки пользователей и прав . На открывшейся форме необходимо включить флажок Даты запрета изменения и перейти по ссылке Настроить .
Самой простой является настройка общей даты запрета для всех пользователей. При такой настройке никто, даже вы сами, не сможете изменить документы в закрытом периоде. Для их корректировки придется отключать или изменять дату запрета.
Общие ограничения по пользователям
Когда требуется назначить ограничения для определенных пользователей, необходимо перейти на вкладку По пользователям. Далее необходимо указать с помощью кнопки Подобрать нужных пользователей. Таким образом, можно настроить даты запретов в зависимости от компетенции и должности того или иного пользователя системы.
Ограничения по разделам и объектам
Важной настройкой ограничений является возможность установки запрета на определенные разделы и объекты учета. В поле Указывать дату запрета доступны следующие значения:
- Общая дата – дата запрета задается для всех данных.
- По разделам – для каждого раздела программы устанавливается своя дата запрета. При этом становится доступным список, в который можно добавлять Разделы и указывать для каждого раздела свое значение даты запрета.
- По разделам и объектам – даты запрета задаются и в разрезе разделов, и в разрезе объектов. Для каждого объекта устанавливается своя дата запрета. Если выбрано это значение, то становится доступным список, в который можно добавлять объекты и указывать для каждого объекта свое значение даты запрета.
Например, способ указания по разделам и объектам , можно использовать, когда в системе ведется учет по нескольким организациям.
В типовых конфигурациях 1С есть замечательный инструмент, позволяющий запретить изменения документов в закрытых периодах. Обзор и инструкцию по нему вы можете прочитать по ссылке . Но иногда все таки возникает необходимость проведения операций задним числом или исправления уже введенных данных. Поэтому, какой-то период всегда держат открытым для редактирования. Как правило, это текущий месяц или квартал.
При работе вы или другие пользователи часто открываете старые документы, для того, чтобы что-то посмотреть или проверить. Иногда, особенно в конце периода, при подготовке отчетности случайно можно поменять данные. Так же можно просто « случайно » перепровести старый документ. Напомню, что дата запрета у нас на текущий период еще не установлена. Изменения документов, включая даже простое перепроведение документа, могут привести к изменениям, которые сложно отловить, особенно если сразу не обратили на это внимание.
Рассмотрим несколько способов решения данной проблемы.
Использование даты запрета
В программе можно настроить автоматическое изменение даты запрета. Минусы данного способа очевидны — пользоваться таким строгим ограничением не очень удобно, так как при необходимости внесения изменений в текущем периоде — придется отключать контроль, а потом включать заново.
Правильное закрытие документов
Можно развить в себе и в сотрудниках привычку закрывать документы не кнопкой «Провести и закрыть», а как это принято говорить «крестиком». Т.е. пиктограммой в правом верхнем углу формы. Предположим, что за себя вы можете поручиться, то за других сотрудников, работающих в базе, сделать это будет сложно.
Использование расширения
Я подготовил специальное расширение для типовых конфигурации, которое позволяет решать данную проблему альтернативным способом.
Расширение предоставляет возможность включить режим «Только просмотр» для проведенных документов. Другими словами, когда вы открываете проведенный документ, вы не можете изменять данные на форме. Для того чтобы внести изменения, необходимо будет найти этот документ в списке и вызвав правой клавишей мыши контекстное меню, отменить его проведение. Таком образом, случайная ошибка при этом практически исключается.
Чтобы быстро найти нужный документ в списке можно использовать следующий метод: В открытой форме необходимого документа выбрать команду Еще. В открывшемся меню выбрать команду Показать в списке . Далее откроется список, текущей строкой в котором будет искомый документ. И уже здесь можно отменить проведение указанным выше способом
Расширение добавляет на главную страницу программы в раздел сервис отдельную команду для вызова формы настройки. Доступ к настройкам имеют только пользователи с полными правами.
Есть несколько режимов работы. Самый первый режим отключает контроль для всех документов. Т.е. расширение ничего не делает и система работает в штатном режиме . Он может пригодится для временного отключения расширения.
Второй режим, включает контроль для всех документов. Любые проведенные документы будут открываться в режиме «Только просмотр»
Третий режим позволяет указать виды документов, для которых будет производиться контроль. Например, вы можете выбрать только банковские документы. Здесь все зависит от особенностей учета в Вашей организации. Этот вариант является наиболее предпочтительным.
В заключение рассмотрим плюсы и минусы расширения.
- дополнительные возможности контроля изменения документов
- подходит для разных конфигураций
- простота настройки и подключения
- несколько режимов работы
- не влияет на обновления
- для редактирования проведенного документа из списка ограничений, приходится отменять проведение
- нельзя использовать в базовой версии
Ознакомится с возможностями данного продукта вы также можете на странице расширения.
Напоминаю, что Вы всегда можете обратиться ко мне по любым вопросам связанными с доработкой и настройкой 1С
Подписывайтесь на канал и наши группы в социальных сетях, чтобы не пропустить новые публикации.
Видео инструкцию к данному материалу можно посмотреть в моем инстаграме
В этой статье описывается усовершенствованная технология автоматической установки даты запрета редактирования
Во-первых, можно определить несколько стратегий запрета редактирования с разными параметрами. Например, запрет в днях, запрет доступа в предыдущие месяцы кварталы и т.п., с указанием отступа от текущей даты.
То есть для некоторых пользователей (рядовых менеджеров) при входе в базе будет устанавливаться запрет по вчерашний день, для других (старших менеджеров) на 5 дней назад, для третьих (администраторов базы или руководителей отдела) — запрет предыдущего месяца с отступом в 10 дней..
Во-вторых, запрет будет устанавливаться для ВСЕХ без исключения пользователей базы данных. Для самых привилегированных это будет максимальная глубина, но запрет будет установлен.
Управление этой системой осуществляется через механизм дополнительных прав пользователей.
При необходимости пользователь с полными правами может открыть для себя закрытый период, но только на текущий сеанс работы.
Многовариантный автоматический запрет редактирования
(для конфигурации УТ 10.3)
В этой статье описывается усовершенствованная технология автоматической установки даты запрета редактирования
Во-первых, можно определить несколько стратегий запрета редактирования с разными параметрами. Например, запрет в днях, запрет доступа в предыдущие месяцы кварталы и т.п., с указанием отступа от текущей даты.
То есть для некоторых пользователей (рядовых менеджеров) при входе в базе будет устанавливаться запрет по вчерашний день, для других (старших менеджеров) на 5 дней назад, для третьих (администраторов базы или руководителей отдела) — запрет предыдущего месяца с отступом в 10 дней..
Во-вторых, запрет будет устанавливаться для ВСЕХ без исключения пользователей базы данных. Для самых привилегированных это будет максимальная глубина, но запрет будет установлен.
Вообще идея автоматического продвижения даты запрета редактирования для всех пользователей кажется мне очень удачной. Мне представляется, что все экономические программы, в том числе все конфигурации на 1С, должны автоматически передвигать дату запрета редактирования с течением времени.
Сейчас мы имеем ситуацию, когда администратор базы должен периодически предпринимать некоторые действия, чтобы передвинуть вперед дату запрета редактирования, например, после составления отчетности за очередной месяц. Но администратор может забыть, заболеть, уволиться, наконец. А новый администратор не сразу вообще поймет важность этого действия по установке даты запрета. А в результате имеем многие проблемы с данными в реальных базах.
А должно быть так, чтобы программа сама, без всяких действий со стороны пользователя, передвигала с течением времени дату запрета для всех пользователей, кому ежедневно, кому ежемесячно (ежеквартально, ежегодно). А уж если надо залезть в закрытый период, то это должны делать только уполномоченные опытные пользователи, которые для этого смогут отодвинуть дату запрета только для себя и только на текущий сеанс работы. А после нового входа в базу дата запрета должна опять установиться автоматически.
В популярной конфигурации «1 С:Управление торговлей 10.3 » есть механизм установки запрета редактирования по пользователям базы данных.
Но практический опыт показал, что этого мало. Некоторым пользователям закрывать предыдущий день не надо, значит для них база остается открытой. По хорошему должен быть администратор базы, который выполняет регламентные операции, в том числе должен и устанавливать запрет редактирования для всех пользователей. Например, после закрытия месяца надо передвинуть дату запрета на месяц вперед. На практике такой администратор об этом, конечно, знает, но часто не делает: всегда найдется много причин, по которым надо отложить эту передвижку даты запрета, а потом про это и вовсе забывают. База остается открытой для изменения (не всеми пользователями, но все же), что приводит к нехорошим последствиям, например при наличии обменов информацией с другими базами. По хорошему запрет редактирования должен быть установлен для ВСЕХ пользователей. Ну а иногда администратора такого и вовсе нет.
В этой статье описывается усовершенствованная технология автоматической установки даты запрета редактирования
Во-первых, можно определить несколько видов закрываемого периода: день, месяц, квартал и т.п. Думаю, что достаточно дня и месяца, желающие могут доработать для квартала, года и т.д.
Во-вторых, можно определить несколько величин отступа от текущей даты в днях для закрытия предыдущего периода: например, 0 и 10 дней. То есть для некоторых пользователей предыдущий период будет закрываться прямо сегодня, для других — через 10 дней. Если закрываемый период день, то при отступе 0 дней при входе в базу будет закрыт период по предыдущий день включительно, а при отступе 10 дней — по дату на 10 дней меньше текущей. Если закрываемый период месяц, то в первом случае предыдущий месяц закроется первого числа очередного месяца, а во втором случае — 10-го числа
В-третьих, запрет будет устанавливаться ДЛЯ ВСЕХ ПОЛЬЗОВАТЕЛЕЙ базы данных. Для самых привилегированных это будет максимальная глубина из всех предусмотренных, но запрет будет установлен.
Управление этой системой осуществляется через механизм дополнительных прав пользователей.
Задача.
Требуется доработать конфигурацию таким образом, чтобы при входе любого пользователя в систему для него автоматически закрывался для редактирования некоторый период согласно сделанным в базе настройкам. Эти настройки должны задаваться с помощью механизма дополнительных прав пользователей. При этом уполномоченные пользователи должны иметь возможность открыть для редактирования любой период при необходимости.
Решение.
1. Вводим дополнительные права пользователя.
Все новые дополнительные права должны иметь вид «Автоматически НЕ закрывать предыдущий : N», где N — величина отступа от текущей даты в днях, положительное число, а может принимать значения «день» и «месяц» (желающие могут добавить еще и «квартал» и «год»).
Например, введем три дополнительных права:
Автоматически НЕ закрывать предыдущий день: 0
Автоматически НЕ закрывать предыдущий день: 5
Автоматически НЕ закрывать предыдущий месяц: 0
Автоматически НЕ закрывать предыдущий месяц: 10
Названия всех прав должны начинаться с текста « Автоматически НЕ закрывать предыдущий : », за которым должно следовать число дней (больше 0).
Работать с дополнительными правами пользователей могут только пользователи с полными правами.
В режиме Предприятие открываем меню « Операции / Планы видов характеристик / Права пользователей »
Добавляем новое право: « Автоматически НЕ закрывать предыдущий день: 0 », тип значения – Булево (составной тип отменяется). Во избежание возможных эксцессов при последующих обновлениях код нового элемента лучше установить в «1000», например. Разработчики конфигурации при пополнении списка новыми предопределенными характеристиками вряд ли дойдут до такого кода.
Копируем это право и переименовываем в « Автоматически НЕ закрывать предыдущий период: 5 ». Копируем еще раз и переименовываем в « Автоматически НЕ закрывать предыдущий месяц: 0 » . И еще раз копируем и переименовываем в « Автоматически НЕ закрывать предыдущий месяц: 10 »
Теперь в меню « Сервис / Пользователи / Настройка дополнительных прав пользователей » появились новые флажки, которые можно устанавливать пользователям.
Установка флажка отменяет закрытие соответствующего периода, значит для нового пользователя будет закрываться максимально возможный период — по вчерашний день включительно.
2. Дорабатываем конфигурацию
Добавляем новый ПРИВИЛЕГИРОВАННЫЙ общий модуль. Назовем его, например, « АЦРК_Привилегированный ». В свойствах модуля должны быть установлены галочки « Привилегированный », « Вызов сервера » и « Сервер ».
В этом модуле должны быть следующая процедура:
Процедура ЗакрытиеПредыдущегоПериода() Экспорт
л_ПрефиксДополнительногоПрава1 = «Автоматически НЕ закрывать предыдущий день:»;
л_ПрефиксДополнительногоПрава2 = «Автоматически НЕ закрывать предыдущий месяц:»;
л_ТекущийПользователь = УправлениеПользователями.ОпределитьТекущегоПользователя();
Запрос = Новый Запрос;
Запрос.Текст = «ВЫБРАТЬ
| ПраваПользователей.Ссылка КАК ДополнительноеПраво,
| ПраваПользователей.Наименование КАК НаименованиеДополнительногоПрава,
| ЕСТЬNULL(ЗначенияДополнительныхПравПользователя.Значение, ЛОЖЬ) КАК ЗначениеДополнительногоПрава
|ИЗ
| ПланВидовХарактеристик.ПраваПользователей КАК ПраваПользователей
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияДополнительныхПравПользователя КАК ЗначенияДополнительныхПравПользователя
| ПО (ЗначенияДополнительныхПравПользователя.Право = ПраваПользователей.Ссылка)
| И (ЗначенияДополнительныхПравПользователя.Пользователь = &Пользователь)
|ГДЕ
| (ПраваПользователей.Наименование ПОДОБНО &Наименование1
| ИЛИ ПраваПользователей.Наименование ПОДОБНО &Наименование2)»;
Запрос.УстановитьПараметр(«Наименование1″, л_ПрефиксДополнительногоПрава1+»%»);
Запрос.УстановитьПараметр(«Наименование2″, л_ПрефиксДополнительногоПрава2+»%»);
Запрос.УстановитьПараметр(«Пользователь», л_ТекущийПользователь);
Результат = Запрос.Выполнить();
л_ТаблицаДополнительныхПрав = Результат.Выгрузить();
л_ТаблицаДополнительныхПрав.Колонки.Добавить(«ДатаЗапрета»,Новый ОписаниеТипов(«Дата»));
л_ТаблицаДополнительныхПрав.Колонки.Добавить(«ГлубинаЗапрета»,Новый ОписаниеТипов(«Число»));
л_МаксимальнаяГлубина = 0;
л_Сутки = 24*60*60;
Для Каждого л_СтрокаТЗ из л_ТаблицаДополнительныхПрав Цикл
л_НаименованиеДополнительногоПрава = л_СтрокаТЗ.НаименованиеДополнительногоПрава;
Если Найти(л_НаименованиеДополнительногоПрава,л_ПрефиксДополнительногоПрава1) > 0 Тогда
л_ПараметрДополнительногоПрава = СокрЛП(Сред(л_НаименованиеДополнительногоПрава,44));
л_СтрокаТЗ.ГлубинаЗапрета = Число(л_ПараметрДополнительногоПрава);
л_СтрокаТЗ.ДатаЗапрета = ТекущаяДата() — л_СтрокаТЗ.ГлубинаЗапрета*л_Сутки;
ИначеЕсли Найти(л_НаименованиеДополнительногоПрава,л_ПрефиксДополнительногоПрава2) > 0 Тогда
л_ПараметрДополнительногоПрава = СокрЛП(Сред(л_НаименованиеДополнительногоПрава,45));
л_СтрокаТЗ.ГлубинаЗапрета = Число(л_ПараметрДополнительногоПрава);
л_СтрокаТЗ.ДатаЗапрета = НачалоМесяца(ТекущаяДата() — л_СтрокаТЗ.ГлубинаЗапрета*л_Сутки) — 1;
КонецЕсли;
Если л_МаксимальнаяГлубина < л_СтрокаТЗ.ГлубинаЗапрета Тогда
л_МаксимальнаяГлубина = л_СтрокаТЗ.ГлубинаЗапрета;
КонецЕсли;
КонецЦикла;
л_МассивСтрокТЗ = л_ТаблицаДополнительныхПрав.НайтиСтроки(Новый Структура(«ГлубинаЗапрета»,л_МаксимальнаяГлубина));
Для Каждого л_СтрокаТЗ из л_МассивСтрокТЗ Цикл
// Для максимальной глубины запрет не может быть отменен
// то ест ьдля ВСЕХ пользователей будет действовать установка запрета редактирования, хотя бы на максимальную глубину
л_СтрокаТЗ.ЗначениеДополнительногоПрава = Ложь;
КонецЦикла;
л_ТаблицаДополнительныхПрав.Сортировать(«ЗначениеДополнительногоПрава Возр, ДатаЗапрета Убыв»);
Если л_ТаблицаДополнительныхПрав[0].ЗначениеДополнительногоПрава = Истина Тогда
// отменена установка запретов редактирования для всех глубин, то есть ничего для этого пользователя не делаем.
// такого не будет
л_УстановитьЗапрет = Ложь;
Иначе
л_УстановитьЗапрет = Истина;
л_ДатаЗапрета = КонецДня(л_ТаблицаДополнительныхПрав[0].ДатаЗапрета);
Если л_ДатаЗапрета >= КонецДня(ТекущаяДата()) Тогда
л_ДатаЗапрета = НачалоДня(НачалоДня(ТекущаяДата()) — 1);
КонецЕсли;
КонецЕсли;
Если л_УстановитьЗапрет Тогда
л_Запись = РегистрыСведений.ГраницыЗапретаИзмененияДанных.СоздатьМенеджерЗаписи();
л_Запись.Пользователь = л_ТекущийПользователь;
л_Запись.ГраницаЗапретаИзменений = л_ДатаЗапрета;
л_Запись.Записать();
//Сообщить(«Дата запрета = «+л_ДатаЗапрета);
КонецЕсли;
ПолныеПрава.УстановитьПараметрГраницыЗапретаИзмененияДанных();
КонецПроцедуры
Вставляем одну строку в модуль обычного приложения, перед окончанием процедуры « ПриНачалеРаботыСистемы »
Как это работает
Если ничего с дополнительными правами не делать, то ни для каких пользователей не будет отменена установка запрета редактирования. Значит будет устанавливаться запрет редактирования на минимальную глубину, в нашем примере 1 день, то есть по вчерашний день включительно.
Чтобы увеличить эту глубину для некоторых пользователей, надо установить для них флажок у соответствующих прав. Сделать это может уполномоченный пользователь. При этом следует учитывать, что запрет будет установлен на наименьшую глубину из всех не отмененных. Например, если установить только один флажок «Автоматически НЕ закрывать предыдущий день: 5», а флажок «Автоматически НЕ закрывать предыдущий день: 0» оставить не установленным, то окажется, что запрет редактирования предыдущего дня не отменен, он и будет установлен при входе пользователя в базу. То есть, если надо открыть для редактирования 5 дней или месяц, надо прежде всего установить флажок «Автоматически НЕ закрывать предыдущий день: 0».
ВАЖНО! период с максимальной глубиной запрета будет установлен в любом случае, даже если установить все флажки «Автоматически НЕ закрывать предыдущий …». В нашем примере 10-го числа очередного месяца будет гарантировано закрыт предыдущий месяц для ЛЮБОГО пользователя, вошедшего в базу, даже для того, у кого установлен флажок «Автоматически НЕ закрывать предыдущий месяц: 10».
Итак, когда пользователи утром заходят в базу данных, для них автоматически устанавливается запрет редактирования, каждому на свою глубину. В этом можно убедиться, посмотрев в меню « Сервис / Настройка учета / Установка даты запрета изменения данных ». На закладке « Основная дата » вы увидите записи по всем пользователям, работающим в базе данных.
Делать изменения в закрытом периоде смогут только пользователи с полными правами. Для этого такой пользователь должен выполнить следующие действия:
выбрать меню « Сервис / Настройка учета / Установка даты запрета изменения данных ». На закладке « Основная дата » отображаются записи по пользователям. Для себя пользователь может отодвинуть дату запрета на нужную дату, нажать кнопку « Установить » . Для него дата запрета редактирования отодвинется немедленно, в этом же сеансе работы. Можно производить изменения в закрытом периоде, с осознанием всех последствий.
Но как только такой пользователь выйдет из базы и снова в нее зайдет, для него снова установится дата запрета редактирования согласно настройкам дополнительных прав пользователя. И это хорошо.
Читайте также: