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

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 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

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

8400 руб.

20.08.2024    27289    182    89    

176

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

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

15000 руб.

10.11.2023    14362    62    33    

80

Инструменты администратора БД Роли и права Системный администратор Программист Пользователь 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

19200 руб.

06.12.2023    13302    57    8    

86

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

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

14400 руб.

29.04.2020    36175    117    152    

81

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

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

4200 руб.

10.11.2015    63625    99    59    

80

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы 1C:Бухгалтерия 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

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

6000 руб.

06.11.2012    75228    631    45    

90

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

Многие сталкиваются с проблемой когда изображения, находящиеся в базе разные по объему и размерам. Менеджеры могут добавить файлы в очень высоком разрешении, объемом свыше 20 Мегабайт. База данных становится слишком большой, выгрузка на сайт идёт медленно и требуется много место на хостинге. Как сжать картинки и уменьшить размер базы 1С? Это можно сделать с помощью данной обработки. Существует возможность выбрать различные варианты для того чтобы уменьшить картинки: в разы, в процентах от первоначального объема, а также сделать картинки одинаковой ширины. В результате размер базы 1С значительно сократится (в зависимости от количества и размера картинок), а изображения станут небольшого объема, равными по ширине, почти без потери качества. Работает на управляемых формах для УТ 11, КА, ERP.

3000 руб.

21.07.2022    10829    13    4    

21
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Tanis 10.01.15 00:01 Сейчас в теме
Доброй ночи!
Штука конечно интересная. Но возникают моменты когда открыть доступ одну пользователю, добавляем этого пользователя, и ему увеличивать количество дней? и сегодня он не успел, на следующий день ему еще раз прибавить количество?
Пока писал подумал, бухгалтера обычно пользуются месяцем целиком. А как показано на скриншоте, то доступ до середины июля. Может тогда стоит все таки чтоб не дни высчитывал. а полностью месяц?
Спасибо!
2. izidakg 174 10.01.15 00:15 Сейчас в теме
(1) Tanis,
если прописать конкретного пользователя, то просто будет индивидуальный срок\период редактирования.
Если определенной группе пользователей или пользователю потребовалось больше период чем по умолчанию, то можно зайти и увеличить - установить доступ к той дате и тем кому надо. И эта установка будет работать до первого входа пользователя в любые следующие сутки.
Другими словами - да если нужно больше дней и сегодня не успел этот пользователь или группа, то завтра надо еще раз установить\открыть нужную дату для избранного.
Удобство как раз в том что само выравнивается на срок доступных дней по умолчанию. Ведь не редки случаи когда открывали доступ пользователю для подчистки чего-либо и в запаре забывали закрыть.
Хотя учитывая сказанное вами появилась мысль об еще одном параметре - количество дней расширенного доступа.
Так чтобы например - установили доступ на 1.09.2014 кому либо и "количество дней расширенного доступа" равным 5
каждый день рабочий этот параметр будет уменьшаться на 1 и при равенстве нулю устанавливается срок по умолчанию, а до тех пор на установленном 01.09.2014
3. OBEH 14.01.15 11:48 Сейчас в теме
Идея здравая. Чувствуется из опыта рожденная.
Но, по моему, не стоит ради этого конфигурацию править.
Может быть, достаточно внешней обработкой править регистр сведений ГраницыЗапретаИзмененияДанных?
5. izidakg 174 14.01.15 14:56 Сейчас в теме
(3) OBEH,
по любому поводу вносить изменения в конфигурацию считаю недопустимым сам, но ситуации бывают разные
при возможности этого не делать, делаю внешними наработками.
но тут надо что работало всегда - при переносе БД также продолжало
не зависело от операционки никак.
к тому же данный модуль у 1С фактически с момента разработки не менялся, поэтому при обновлении БД тут проблем нет
4. gull22 105 14.01.15 13:06 Сейчас в теме
Есть вариант без изменения конфы http://infostart.ru/public/166600/
Реализовали у себя в УПП, работает прекрасно
6. izidakg 174 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 174 01.05.16 22:16 Сейчас в теме
(13) Antimyslitel,
в какую конфигурацию добавляешь?
к этой разработке давно не возвращался, хотя есть пару дополнений что можно прикрутить еще
15. chukawata 10 09.10.20 06:34 Сейчас в теме
Коллеги, есть мнение, что дата запрета редактирования (ДЗР) хранится в пользовательском кэше, поэтому его обязательно надо чистить при смене ДЗР. Иначе на пользователя, который не выходил из программы, смена ДЗР не подействует. Либо не чистить кэш, а выкидывать пользователей из базы.
Есть суждения по этому поводу?
Оставьте свое сообщение