Modber Сообщество
профессионалов по 1С

Разграничение прав доступа

Хочу реализовать по организации разграничение прав доступа
  
Сообщений: 1

0
Есть самописная 1С. Мне нужно написать под неё разграничение прав по доступу пользователей в справочниках, документах. У кого есть советы или какие наработки, пример — буду рада если поделитесь имеющейся информацией.
Сообщений: 59

0
Света, в этом вопросе недостаточно информации. Откуда мы можем знать, что вы там подописывали в своём варианте программы 1С? Но есть уже продуманные раньше программные решения. Например, можно воспользоваться Питоном.

1С всегда даёт возможность для подключения к ней через обычные COM-соединения. Как и удругих windows-программ, при установке 1С (в том числе, и самописной программы) в системе нужно регистрировать 2 COM-объекта — COM Connector и Automation Server. Чтобы работать с этими объектами, нужно использовать язык, который поддерживает COM-технологии.

Например, Automation Server является обычным приложением программы 1С, которое практически ничем не отличается от других стандартных клиентских приложений. Разницу можно заметить только в том, что появляется дополнительная возможность для того, чтобы программно управлять таким индивидуальным экземпляром этого приложения. Когда вы работаете с таким объектом, как COM Connector, то нужно запускать облегченные варианты приложения 1С, в котором должны быть недоступны и формы, и функции, которые меняют интерфейс и загружают визуальные эффекты. Нужно запускать такое приложение, используя режим «Внешнее Соединение». Инициализировать глобальные переменные (определять текущих пользователей и их настройки, то о чем вы спрашиваете, т.е. их роли и доступы к базам и их корректировке) нужно только в модуле с внешним соединением программы 1С. Когда вы будете использовать режим внешнего соединения, то код будет вызывать функцию, который не доступен для этого режима, что будет вызывать исключения (которые и будут передаваться в скрипт, для этого можно использовать, например, Питона). А вызов небезопасных функций нужно ограничивать определенными конструкциями.
Но работая с COM-объектами, которые технологически заточены только под windows-only, мы обнаружим, что в коробочном Питоне их не предусмотрено. Поэтому возникает потребность в том, чтобы сделать установку расширения Win32, в котором есть необходимый набор всех модулей, со всем нужным функционалом под программирование Windows с использованием Питона. Скачайте его собранным exe-установщиком. Такое расширение даёт доступы к реестрам, службам, COM-объектам, ODBC и др. Альтернативно можно сразу использовать ActiveState Python, в этом дистрибутиве нужное нам расширение Win32 есть уже в коробке.
Измените принципы взаимодействия, разделяя задачу на две части — зависимую от винды (платформенную), которая будет выгружать базу 1С в любом удобном формате, и альтернативную, которая не зависит от платформы, но может работать с данными, не обращая никакого внимания на 1С.

Стратегически вы добьётесь следующего: новый питон-скрипт будет соединяться с программой 1С, выполнять все необходимые запросы и выгружать эту информацию в SQLite базы. К этим базам легко подключаться и из Питона, и из PHP или Джавы. Множество компаний работают, используя Питон, чтобы не писать слабые SQL-запросы вручную, работу с базами SQLite нужно выполнять, используя ORM SQLAlchemy.
Сообщений: 59

0
Света, или можете обратиться к своему одноэснику, который у вас получает зарплату и сможет легко написать коды, которые будут ограничивать доступ определенным пользователям в определённые даты времени или в определенные базы, ограничивая их возможности только просмотром и не давая возможности редактирования документов, либо он сможет прописать первоочередность допуска ваших менеджеров к базе, либо наладить автоматическую возможность корректировок всех ошибочных изменений базы, когда такая инфа будет сбрасываться с сервера сразу на уполномоченное лицо, администратора такой системы. Где-то так. Или ищите свои особенные варианты, ведь работа программиста относится и к творческой деятельности) Удачи!)
В начало страницы 
|
Перейти на форум: