1с обойти дату запрета программно

Обновлено: 05.07.2024

Доброго времени суток!<br>Уже несколько дней пытаюсь решить следующую проблему.<br>1с8.1. УПП. Платформа 8.1.12.101. Конфигурация 1.2.4.1 (!).<br>Конфигурацию поменять нет возможности, ибо она заказная, а исполнителя нет.<br><br>Создал в конфигураторе новую роль путем копирования роли "Полные права". Назначил эту роль и роль "Пользователь" группе пользователей. Установил дату запрета изменения данных на определенное число, но эти пользователи все равно способны менять документы до указанной даты. Пытался отдельно выставлять права для каждого документа в конфигураторе, но чаще всего это приводило к невозможности редактировать вообще все проведенные документы.<br><br>Есть ли возможность сделать так, чтобы "установка даты запрета изменения данных" работала на определенной группе пользователей?<br>Спасибо.

А устанавливаете в значение "Общая дата"?

Именно так.<br>Сервис - Установка даты запрета изменения данных.<br>В новом окошке две вкладки. <br>На первой ("Основная дата") устанавливается дата запрета для всех ролей.<br>На второй ("Ограничение регламентной информации") устанавливается организация, для которой этот запрет верен.

У вас версия еще очень старая, возможно там еще нет такой настройки "Применять дату запрета для полных прав". На всякий случай проверьте в "Настройках учета".

Нет, к сожалению в версии конфигурации 1.2.4.1 такой настройки нет.<br>Но ведь идет попытка применить запрет на копию полных прав.<br>Кстати, такой момент: при установке даты запрета изменения данных выводится список ролей, для которых это верно. Но почему-то там нет созданной копии полных прав, а есть только стандартные роли. Так и должно быть?<br>Ради интереса попробовал встроенной роли "Бухгалтер" назначить такие же права, как и роли "Полные права", и назначить только эту роль отдельной группе пользователей, чтобы посмотреть, сработает ли на них запрет. Но получилсь, что нет возможности изменить любой проведенный документ.<br>Т.е. получается, что без вмешательства программиста никак не обойтись?

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

Совершенно верно.<br>В Конфигураторе: Перечисления - НаборПравПользователя - Значения надо прописать новую роль, тогда она появляется в списке на запрет изменения данных.<br>Но после этого все документы доступны только в режиме чтения, хотя права для этой роли скопированы с полных.<br>Еще нашел в Конфигураторе через Общие - Параметры сеанса - НаборПрав. Добавил туда НаборПравНоваяРоль (по аналогии с, к примеру, НаборПравБухгалтер), но ничего не изменилось.<br>Можно ли еще что-то попробовать изменить?

"1. Создайте ПодпискуНаСобытие. <br>2. Источник: Выбираете все документы<br>3. Ставите событие ПередЗаписью.<br>4. Обработчик - жмете на лупу и выбираете модуль, где будет создана обработка<br>5. Написать код типа:<br>грДата = Константы.<ИмяКонстантыСДатой>.Получить();<br>Если Источний.Дата <= грДата Тогда<br> Сообщить ("Нельзя записывать документы меньше даты "+Строка(грДата));<br> Отказ = Истина;<br>КонецЕсли;<br><br>Работать будет не только на проведение, но и на запись, так что изменить или записать документ задней датой будет нельзя вообще никому, даже с полными правами. Если надо, что бы какие-то роли могли это делать, надо просто добавить условие. То же самое касается и проведения.<br>Есть только замечание: Если РежимПроведения, но при перепроведении документа он может быть Неопределен, т.е. надо проверить, что записывается уже проведенный документ."

Привет!
Люди, надо подлезть в закрытый период и поменять номер документа. Как это сделать программно, не трогая период ваще?

(0) себе только откройте период и ковыряйте. Можете программно установить нужную дату запрета в регистре, а после правки вернуть обратно.

Кривой номер в нумерации, есть два варианта, менять номер в закрытом периоде, или писать расширение, чтоб нумерация учитывалась без кривого номера

(4) Тогда проблема не в дате запрета, а в том чтобы не открылся прошлый период

(0) групповой обработкой реквизитов поменяй в режиме Загрузка = Истина

Проблема записать документ без проведения или что ?

(0) В УТ 11.4 можно установить свойство

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

(8) "Проблема записать документ без проведения или что ?" так номер поменяется? Как это сделать?

(11) я же вам написал в (9) есть регистр такой типа Задания к закрытию месяца. После изменения вашего документа, туда попадет строчка с ним. Если вы эту строчку удалите, то не будет закрытие месяца просить все перезакрывать.

(12) открываете для себя редактирование старых периодов, правите документ, удаляете строчку из задания, возвращаете для себя закрытие периода. Главное чтобы ваша правка не влияла на себестоимость, а та будут проблемы. И не распроводите документ! А только перезапишите, тогда не удаляться проводки с себестоимостью. В общем все на ваш страх и риск)

(13) "открываете для себя редактирование старых периодов" дату запрета снять в режиме предприятия?

(14) как вам удобнее. Она в разрезе пользователей, так что вы можете только для себя снять

(0) UPDATE DocumentХХ SET Number="новый_номер" WHERE Number="старый_номер"

Привет!
Люди, надо подлезть в закрытый период и поменять номер документа. Как это сделать программно, не трогая период ваще?

(0) себе только откройте период и ковыряйте. Можете программно установить нужную дату запрета в регистре, а после правки вернуть обратно.

Кривой номер в нумерации, есть два варианта, менять номер в закрытом периоде, или писать расширение, чтоб нумерация учитывалась без кривого номера

(4) Тогда проблема не в дате запрета, а в том чтобы не открылся прошлый период

(0) групповой обработкой реквизитов поменяй в режиме Загрузка = Истина

Проблема записать документ без проведения или что ?

(0) В УТ 11.4 можно установить свойство

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

(8) "Проблема записать документ без проведения или что ?" так номер поменяется? Как это сделать?

(11) я же вам написал в (9) есть регистр такой типа Задания к закрытию месяца. После изменения вашего документа, туда попадет строчка с ним. Если вы эту строчку удалите, то не будет закрытие месяца просить все перезакрывать.

(12) открываете для себя редактирование старых периодов, правите документ, удаляете строчку из задания, возвращаете для себя закрытие периода. Главное чтобы ваша правка не влияла на себестоимость, а та будут проблемы. И не распроводите документ! А только перезапишите, тогда не удаляться проводки с себестоимостью. В общем все на ваш страх и риск)

(13) "открываете для себя редактирование старых периодов" дату запрета снять в режиме предприятия?

(14) как вам удобнее. Она в разрезе пользователей, так что вы можете только для себя снять

(0) UPDATE DocumentХХ SET Number="новый_номер" WHERE Number="старый_номер"

Привет!
Люди, надо подлезть в закрытый период и поменять номер документа. Как это сделать программно, не трогая период ваще?

(0) себе только откройте период и ковыряйте. Можете программно установить нужную дату запрета в регистре, а после правки вернуть обратно.

Кривой номер в нумерации, есть два варианта, менять номер в закрытом периоде, или писать расширение, чтоб нумерация учитывалась без кривого номера

(4) Тогда проблема не в дате запрета, а в том чтобы не открылся прошлый период

(0) групповой обработкой реквизитов поменяй в режиме Загрузка = Истина

Проблема записать документ без проведения или что ?

(0) В УТ 11.4 можно установить свойство

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

(8) "Проблема записать документ без проведения или что ?" так номер поменяется? Как это сделать?

(11) я же вам написал в (9) есть регистр такой типа Задания к закрытию месяца. После изменения вашего документа, туда попадет строчка с ним. Если вы эту строчку удалите, то не будет закрытие месяца просить все перезакрывать.

(12) открываете для себя редактирование старых периодов, правите документ, удаляете строчку из задания, возвращаете для себя закрытие периода. Главное чтобы ваша правка не влияла на себестоимость, а та будут проблемы. И не распроводите документ! А только перезапишите, тогда не удаляться проводки с себестоимостью. В общем все на ваш страх и риск)

(13) "открываете для себя редактирование старых периодов" дату запрета снять в режиме предприятия?

(14) как вам удобнее. Она в разрезе пользователей, так что вы можете только для себя снять

(0) UPDATE DocumentХХ SET Number="новый_номер" WHERE Number="старый_номер"

Читайте также: