Установка своего пароля на отчет, не втягивая в это RLS

06.03.25

Разработка - Защита ПО и шифрование

Небольшой пример - "лайф-хак" по установке собственного пароля на отчет или обработку, не втягивая в это RLS.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Как установить свой пароль на отчет не в тягивая в это RLS:
.erf 17,17Kb ver:11.5
1
1 Скачать (3 SM) Купить за 2 450 руб.

Предисловие

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

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

Поэтому уверен, что данный подход будет полезен широкой аудитории.

Техническая публикация писалась на основе одной из последних конфигураций Управление торговлей (УТ) 11.5.20 на платформе 1С:Предприятие 8.3.24.1586.

 

Принцип работы и установка доступа

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

Выглядит это вот так:

 

Рис.1. Первоначальный запуск формы ввода пароля при открытии отчета

 

Кроме того, для расширения возможности я ввел функционал вывода результата отчета в зависимости от того какой пароль знает ваш пользователь. Например, условный "админ" знает пароль 999 - ему выводится вся информация по отчету, а условному пользователю с паролем 100 - только часть информации "по фильтру" или отчет в другом оформлении/по другому набору данных.

Выглядит это вот так:

 

Рис.2. Процесс ввода пароля и получение результата

 

Собственно, и все. Вы также можете ознакомиться с другими интересными публикациями автора как на этом портале, так и телеграмм канале. Спасибо за интерес.

 

Другие разработки автора

Использование собственных макетов в СКД на примере УТ 11.5

Классический корректный пример внешней печатной формы с печатью и подписями на БСП 3.1.10

Добавление ставок НДС 2025 - 5% и 7% - в старую УНФ 1.6

Суммы НДС в формах списка объектов для Бухгалтерии 3.0

Проверено на следующих конфигурациях и релизах:

  • Управление торговлей, редакция 11, релизы 11.5.20.106

пароль обработка отчет установка RLS СКД

См. также

Защита ПО и шифрование Программист Платформа 1С v8.3 Бесплатно (free)

В статье приведен простой способ защиты кода внешней обработки от несанкционированного доступа (если это необходимо).

30.12.2024    5495    artemusII    17    

9

Защита ПО и шифрование Программист Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

Представляю вам микрорасширение, которое запрещает глобальный поиск по вашей конфигурации.

1 стартмани

09.02.2023    3105    13    aximo    5    

2

Защита ПО и шифрование Программист Абонемент ($m)

Для установки защиты pdf документа, полученного в 1С, написано консольное приложение на c#., использующее одну зависимость pdfSharp.dll. В результате работы приложения ограничены операции над документом и записаны метаданные. С помощью аргументов командной строки можно управлять работой приложения.

2 стартмани

30.01.2023    2357    2    olevlasam    3    

3

Защита ПО и шифрование Программист Платформа 1С v8.3 1C:Бухгалтерия Абонемент ($m)

Универсальный синтаксический анализатор ASN.1, который может декодировать любую допустимую структуру ASN.1 DER или BER, независимо от того, закодирована ли она в кодировке Base64 (распознаются необработанные base64, защита PEM и begin-base64) или в шестнадцатеричном кодировании.

1 стартмани

04.12.2022    3835    18    keyn5565`    0    

15

Защита ПО и шифрование Программист Платформа 1С v8.3 Абонемент ($m)

Демонстрация возможностей шифрования строки на основе мастер-пароля в 1С Предприятие 8.3.19. AES без zip файла, RSA, PKDF2. (c использованием библиотеки С# через com).

2 стартмани

31.08.2022    4801    9    vit59    2    

6

Защита ПО и шифрование Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Абонемент ($m)

Обработка, позволяющая запутывать и шифровать байт-код, поставлять модули без исходных текстов и т.д. Работает только в файловом варианте с версии платформы 8.3.22.1368 из-за конструктора ГенераторСлучайныхЧисел, поскольку алгоритм был изменён.

10 стартмани

16.06.2022    13749    115    ZhokhovM    12    

48

Защита ПО и шифрование Программист Платформа 1С v7.7 Платформа 1С v8.3 Абонемент ($m)

Как уберечь конструкторскую документацию от воровства конкурентами? Недавно столкнулся с этой проблемой. Заказчик серьёзно обеспокоен утечкой информации о конструкторских разработках в адрес конкурентов, за счет подкупа исполнителей, занимающихся производством по конструкторской документации, операторов технологического оборудования и обрабатывающих центров по изготовлению деталей и сборочных единиц.

2 стартмани

09.03.2022    6416    4    ge_ni    9    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ixijixi 1992 06.03.25 11:09 Сейчас в теме
Интересное решение)
Прикрепленные файлы:
mitia.mackarevich; dehro; sys1c; 0x00; +4 Ответить
6. RustIG 1837 06.03.25 12:18 Сейчас в теме
(1) Максим , где вы работаете? в большой конторе? если "да", тогда к вам стекается большой поток инноваций и технологий - тогда для вас по идее на Инфостарт найти что-то новое будет весьма сложно, и большинство будет казаться "Костылищем"...
о, и да, ваша картинка это тоже своего рода известный старый мем, а посему "костыль" среди мемов :)
9. ixijixi 1992 06.03.25 14:15 Сейчас в теме
(6) Не сказал бы, что большая)

Но решение предлагает именно что костыль (пароль) взамен типового решения (RLS).

Но решение само по себе интересное, мне понравилось. Единственно, я бы вынес пароль не при открытии, а на форму и формировал в зависимости от значения пароля
RustIG; aximo; +2 Ответить
10. aximo 2158 06.03.25 14:21 Сейчас в теме
(9) вы угадали, ведь как всегда, это часть решения. По факту пароль генерируется из постоянного числа задаваемой константы и дня недели )))
19. RustIG 1837 06.03.25 15:39 Сейчас в теме
(9) я вот уже тушусь - еще не работал с ограничениями отчетов на уровне RLS - как их применять не изучал, и от слов костыль начинаю "тушеваться" ...
Суф. производное (с помощью суф. -ся) от тушевать «накладывать тени» < «делать менее заметным» , образования от тушь (см.) . Соврем. значение — из «вести себя незаметно, скрываться».
как-то жалко 1сников (себя в первую очередь :)), которым сходу распределяют "костыли"....
а так, Бог с ним, как скажете, костыль так костыль... :)
20. ixijixi 1992 06.03.25 15:48 Сейчас в теме
(19) Значит не нужно было) Понадобится - освоите))

По факту RLS - жуткая непрозрачная неотлаживаемая штука.
Прикрепленные файлы:
11. aximo 2158 06.03.25 14:38 Сейчас в теме
(6) в больших конторах все очень статично, знаю несколько, которые в течении 5-6 лет не могут перейти с УПП на что-то более современное

В мелких франчах (каким я и являюсь) если ты программист, ты должен выкруживать решения какие только можешь применить, не порушив предыдущие творения «мудрецов»
2. aximo 2158 06.03.25 11:21 Сейчас в теме
(1) не сказал бы что "костыль" - работа с модальными окнами) - передача данных между формами))
5. RustIG 1837 06.03.25 12:16 Сейчас в теме
(2) передача данных между формами - через хранилище или через оповещение
других не знаю

работа с модальными окнами? это точно модальное окно? то есть в тонком клиенте не будет работать?

может вы используете ПоказатьПредупреждение() с вызовом оповещения - при этом передается только текстовое значение параметра - пароль?
то есть другие параметры не передать?
3. milkers 2958 06.03.25 11:23 Сейчас в теме
Может это банальность, но зачем плодить велосипеды. Просто доступ к отчету - добавляем роль с просмотром этого отчета. Можно даже в расширении и даем ее группе пользователей.
Если нужен разный функционал, то несколько ролей. В процедура ПриКомпоновкеРезультата устанавливаем параметры отчета в зависимости от результата функции роль доступна.
trest30; V1V; dehro; RustIG; +4 Ответить
4. aximo 2158 06.03.25 11:26 Сейчас в теме
(3) если кто-то разрешит тебе поставить эту роль и это расширение...

вообще применение - гораздо шире - модальная форма перед отчетом может открываться для заполнения каких-то параметров... пароль - это самое простое и быстрое, что я смог тут предложить
7. RustIG 1837 06.03.25 12:19 Сейчас в теме
(4) видимо для внешних отчетов и обработок прокатит....
8. aximo 2158 06.03.25 12:41 Сейчас в теме
(5) передача через обработку оповещения! в тонком клиенте работает

(7) прокатит для любых форм и обработках... создавалось для внешних конечно!
12. user592773_demon1995.27 06.03.25 14:52 Сейчас в теме
А как сам пароль задается? где?
13. V1V 112 06.03.25 15:09 Сейчас в теме
Я наверное чего-то не понял. В отчёт добавляем параметр, в зависимости от введенного значения формируем отчёт. Зачем вот это вот все? Давайте ещё период в модальном окне задавать тогда.
21. ixijixi 1992 06.03.25 15:59 Сейчас в теме
(13) Параметр не скроешь звездочками
14. aximo 2158 06.03.25 15:10 Сейчас в теме
(12) в модуле обработки или отчета. Обращение через реквизит в значение формы
15. user592773_demon1995.27 06.03.25 15:11 Сейчас в теме
(14) т.е. не в пользовательском интерфейсе а в коде???
16. aximo 2158 06.03.25 15:14 Сейчас в теме
(15) можешь считывать его из файлика, вебсервиса, с фтп тянуть… в чем дело то????
17. user592773_demon1995.27 06.03.25 15:15 Сейчас в теме
(16) не в чем. я просто уточнил, где именно пароль задается...
18. aximo 2158 06.03.25 15:16 Сейчас в теме
(17) в любом доступном информационном пространстве… начиная с переменной в коде обработки или массива возможных паролей
Оставьте свое сообщение