Автоустановка даты запрета редактирования для пользователей

07.01.15

База данных - Инструменты администратора БД

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
УстановкаДатыЗапретаИзмененияДанных
.rar 285,84Kb
31
31 Скачать (1 SM) Купить за 1 850 руб.

Для того, чтобы это работало, надо:

1. У регистра сведений "ГраницыЗапретаИзмененияДанных" нужно создать в ресурсах 2 новых:
ГраницаЗапретаИзмененийУстановлена (тип дата и время)
КоличествоДнейДоступа (тип число, длина 5, не отрицательный)

2. Общие формы "УстановкаДатыЗапретаИзмененияДанных" нужно на обе закладки добавить по 2 колонки (2 новых ресурса из регистра сведений "ГраницыЗапретаИзмененияДанных")
Модуль заменить на приложенный в файле "Модуль Общей Формы (УстановкаДатыЗапретаИзмененияДанных)". На тот случай, если есть вероятность, что модуль общей формы мог быть изменен с поставкой
то из приложенного листинга перенести все внесенные изменения, которые начинаются с "//нс+" и заканчиваются на "//нс-"

3. В модуле обычного приложения найти процедуру "ПриНачалеРаботыСистемы()" и в самый конец поместить:

//нс+ ПриНачалеРаботыСистемы() установка граници запрета редактирования
СФ_Дополнения.УстановитьГраницуПериодаРедактирования();
//нс-

5. Разместить приложенный модуль "УстановитьГраницуПериодаРедактирования", расположенный в одноименном файле в общем модуле. В данном случае поместил в созданный общий модуль "СФ_Дополнения"

6. Проверить запуск под пользователем с ролью не администратора. Для того, чтобы работал автомат по установке даты запрета входа, придется дать права на запись регистра "ГраницыЗапретаИзмененияДанных"

 

Установив в обработке по установке даты запрета количества "дней доступа" каждой группе пользователей или пользователю, можно забыть про эту проблему.

Работает это так:

Пользователь открывает 1С предприятие и автоматически срабатывает процедура при запуске, далее проверяется факт установки даты запрета в текущий день (фактически дату запрета сдвигает первый вошедший в БД пользователь). Если дата еще не сдвигалась\устанавливалась, то согласно прописанным в обработке количеству "дней доступа" устанавливается крайняя дата запрета. Пример на скриншоте.

дата запрета автоматически

См. также

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя.

8400 руб.

20.08.2024    9559    75    32    

85

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 18.09.2024, версия 1.2

16800 руб.

06.12.2023    9328    44    5    

75

SALE! %

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

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

15000 10000 руб.

10.11.2023    10927    40    27    

66

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    189205    1144    0    

916

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтер Пользователь Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    33084    107    152    

73

Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

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

3600 руб.

06.02.2017    32255    34    18    

51

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней. Только для WINDOWS!

6000 руб.

06.11.2012    73127    628    45    

86

Инструменты администратора БД Системный администратор Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    62985    94    59    

79
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Tanis 10.01.15 00:01 Сейчас в теме
Доброй ночи!
Штука конечно интересная. Но возникают моменты когда открыть доступ одну пользователю, добавляем этого пользователя, и ему увеличивать количество дней? и сегодня он не успел, на следующий день ему еще раз прибавить количество?
Пока писал подумал, бухгалтера обычно пользуются месяцем целиком. А как показано на скриншоте, то доступ до середины июля. Может тогда стоит все таки чтоб не дни высчитывал. а полностью месяц?
Спасибо!
2. izidakg 172 10.01.15 00:15 Сейчас в теме
(1) Tanis,
если прописать конкретного пользователя, то просто будет индивидуальный срок\период редактирования.
Если определенной группе пользователей или пользователю потребовалось больше период чем по умолчанию, то можно зайти и увеличить - установить доступ к той дате и тем кому надо. И эта установка будет работать до первого входа пользователя в любые следующие сутки.
Другими словами - да если нужно больше дней и сегодня не успел этот пользователь или группа, то завтра надо еще раз установить\открыть нужную дату для избранного.
Удобство как раз в том что само выравнивается на срок доступных дней по умолчанию. Ведь не редки случаи когда открывали доступ пользователю для подчистки чего-либо и в запаре забывали закрыть.
Хотя учитывая сказанное вами появилась мысль об еще одном параметре - количество дней расширенного доступа.
Так чтобы например - установили доступ на 1.09.2014 кому либо и "количество дней расширенного доступа" равным 5
каждый день рабочий этот параметр будет уменьшаться на 1 и при равенстве нулю устанавливается срок по умолчанию, а до тех пор на установленном 01.09.2014
3. OBEH 14.01.15 11:48 Сейчас в теме
Идея здравая. Чувствуется из опыта рожденная.
Но, по моему, не стоит ради этого конфигурацию править.
Может быть, достаточно внешней обработкой править регистр сведений ГраницыЗапретаИзмененияДанных?
5. izidakg 172 14.01.15 14:56 Сейчас в теме
(3) OBEH,
по любому поводу вносить изменения в конфигурацию считаю недопустимым сам, но ситуации бывают разные
при возможности этого не делать, делаю внешними наработками.
но тут надо что работало всегда - при переносе БД также продолжало
не зависело от операционки никак.
к тому же данный модуль у 1С фактически с момента разработки не менялся, поэтому при обновлении БД тут проблем нет
4. gull22 103 14.01.15 13:06 Сейчас в теме
Есть вариант без изменения конфы http://infostart.ru/public/166600/
Реализовали у себя в УПП, работает прекрасно
6. izidakg 172 14.01.15 15:03 Сейчас в теме
(4) gull22,
выглядит неплохо и задумка с настройкой понедельно и помесячно неплохая, хотя не уверен что все пользователи без консультации поймут такую настройку. это больше инструмент для себя получается.
а запуск скриптом это лотерея. может проработать без сбоя и год, а может слетать постоянно. при переносе БД нужно заново настраивать.
с начало тоже так сделал, потом достало контролировать, все таки делал чтоб не париться с установкой даты запрета, поэтому сделал запуск внутри конфигурации
7. pro-specs 31.03.15 06:58 Сейчас в теме
8. Antimyslitel 35 01.05.16 16:37 Сейчас в теме
Ругается говорит что не может найти переменную ГраницаИзмененияДанных!!!
Ошибка ниже сделал все как указанно!
{ОбщаяФорма.УстановкаДатыЗапретаИзмененияДанных(332,7)}: Переменная не определена (ПрименятьДатуЗапретаДляПолныхПрав)
Если <<?>>ПрименятьДатуЗапретаДляПолныхПрав <> мИсходноеЗначениеПрименятьДатуЗапретаДляПолныхПрав Тогда (Проверка: Толстый клиент (обычное приложение))
{ОбщаяФорма.УстановкаДатыЗапретаИзмененияДанных(333,58)}: Переменная не определена (ПрименятьДатуЗапретаДляПолныхПрав)
Константы.ПрименятьДатуЗапретаДляПолныхПрав.Установить(<<?>>ПрименятьДатуЗапретаДляПолныхПрав); (Проверка: Толстый клиент (обычное приложение))
{ОбщаяФорма.УстановкаДатыЗапретаИзмененияДанных(334,56)}: Переменная не определена (ПрименятьДатуЗапретаДляПолныхПрав)
мИсходноеЗначениеПрименятьДатуЗапретаДляПолныхПрав = <<?>>ПрименятьДатуЗапретаДляПолныхПрав; (Проверка: Толстый клиент (обычное приложение))
Что делать и что спасет! Никаких ранее изменений не было!
9. Antimyslitel 35 01.05.16 16:45 Сейчас в теме
Теперь ругается так:
{МодульОбычногоПриложения(247,2)}: Переменная не определена (СФ_Дополнения)
<<?>>СФ_Дополнения.УстановитьГраницуПериодаРедактирования(); (Проверка: Толстый клиент (обычное приложение))
10. Antimyslitel 35 01.05.16 16:47 Сейчас в теме
Все вроде разобрался!
11. Antimyslitel 35 01.05.16 16:51 Сейчас в теме
нет все таки такую ошибку дает:
{ОбщаяФорма.УстановкаДатыЗапретаИзмененияДанных(331,7)}: Переменная не определена (ПрименятьДатуЗапретаДляПолныхПрав)
Если <<?>>ПрименятьДатуЗапретаДляПолныхПрав <> мИсходноеЗначениеПрименятьДатуЗапретаДляПолныхПрав Тогда
Разработку форм рекомендуется выполнять в разрешении 96 DPI
{ОбщаяФорма.УстановкаДатыЗапретаИзмененияДанных(332,58)}: Переменная не определена (ПрименятьДатуЗапретаДляПолныхПрав)
Константы.ПрименятьДатуЗапретаДляПолныхПрав.Установить(<<?>>ПрименятьДатуЗапретаДляПолныхПрав);
{ОбщаяФорма.УстановкаДатыЗапретаИзмененияДанных(333,56)}: Переменная не определена (ПрименятьДатуЗапретаДляПолныхПрав)
мИсходноеЗначениеПрименятьДатуЗапретаДляПолныхПрав = <<?>>ПрименятьДатуЗапретаДляПолныхПрав;

Достало уже! где и что могло быть не правильно?
12. Antimyslitel 35 01.05.16 16:53 Сейчас в теме
И при самом запуске клиента дает такую ошибку : Поле объекта недоступно для записи (КоличествоДнейДоступа)
А потом уже эту когда хочешь проставить дату!
{ОбщаяФорма.УстановкаДатыЗапретаИзмененияДанных(331,7)}: Переменная не определена (ПрименятьДатуЗапретаДляПолныхПрав)
Если <<?>>ПрименятьДатуЗапретаДляПолныхПрав <> мИсходноеЗначениеПрименятьДатуЗапретаДляПолныхПрав Тогда
Разработку форм рекомендуется выполнять в разрешении 96 DPI
{ОбщаяФорма.УстановкаДатыЗапретаИзмененияДанных(332,58)}: Переменная не определена (ПрименятьДатуЗапретаДляПолныхПрав)
Константы.ПрименятьДатуЗапретаДляПолныхПрав.Установить(<<?>>ПрименятьДатуЗапретаДляПолныхПрав);
{ОбщаяФорма.УстановкаДатыЗапретаИзмененияДанных(333,56)}: Переменная не определена (ПрименятьДатуЗапретаДляПолныхПрав)
мИсходноеЗначениеПрименятьДатуЗапретаДляПолныхПрав = <<?>>ПрименятьДатуЗапретаДляПолныхПрав;

Достало уже! где и что могло быть не правильно?
13. Antimyslitel 35 01.05.16 17:07 Сейчас в теме
я взял над ошибкой тупо добавил:

ПрименятьДатуЗапретаДляПолныхПрав = Константы.ПрименятьДатуЗапретаДляПолныхПрав;

Если ПрименятьДатуЗапретаДляПолныхПрав <> мИсходноеЗначениеПрименятьДатуЗапретаДляПолныхПрав Тогда
Константы.ПрименятьДатуЗапретаДляПолныхПрав.Установить(ПрименятьДатуЗапретаДляПолныхПрав);
мИсходноеЗначениеПрименятьДатуЗапретаДляПолныхПрав = ПрименятьДатуЗапретаДляПолныхПрав;
КонецЕсли;


Правильно ли я поступил или как?
14. izidakg 172 01.05.16 22:16 Сейчас в теме
(13) Antimyslitel,
в какую конфигурацию добавляешь?
к этой разработке давно не возвращался, хотя есть пару дополнений что можно прикрутить еще
15. chukawata 10 09.10.20 06:34 Сейчас в теме
Коллеги, есть мнение, что дата запрета редактирования (ДЗР) хранится в пользовательском кэше, поэтому его обязательно надо чистить при смене ДЗР. Иначе на пользователя, который не выходил из программы, смена ДЗР не подействует. Либо не чистить кэш, а выкидывать пользователей из базы.
Есть суждения по этому поводу?
Оставьте свое сообщение