Бухгалтер і комп'ютер.П`ятниця, 29.03.2024, 06:42

Вітаю Вас Гість | RSS
Головна | Статті | Вхід
Меню сайту

Категорії каталога
Бухгалтер і комп'ютер [8]
Все що потрібно бухгалтерам для роботи за комп'ютером
Програмування на 1С [9]
Все що стосується програмування бухгалтерських програм "1С" версій 7.7 і 8.1.

Друзі сайту

Головна » Статті » Програмування на 1С


Розмежування доступу до зовнішніх звітів (*.ert) для 1С версії 7.7.

На кожному підприємстві є звіти(обробки) доступ до яких потрібно зробити лише певним

працівникам.

Використовуючи стандартні можливості розмежування доступу (що як мінус можна робити тільки через конфігуратор) можна вкінцевому результаті досягнути тільки двох варіантів:  повністю дозволити, або повністю заборонити. Є як варіант ставити для зовнішнього звіту пароль на відкриття, але він є відповідно тим самим що і на редагування звіту, чого б допускати не хотілося.

 

Основна перевага використання зовнішнього звіту думаю всім зрозуміла: можливість редагування під час роботи користувачів (Програмісти також люди і нехочеться ночами працювати над внесенням змін в базу 1С).

 

Для цього найперше що треба зробити це задати в конфігураторі право всім використовувати зовнішні звіти, правда тільки ті що знаходяться в каталозі «ExtForms» бази 1С. Тому спочатку для всіх груп прав (адміністратори не виключення) потрібно задати правило «Использование общих Внешних Отчетов и Обработок», і обовязково знімаємо галочку напроти «Использование любых Внешних Отчетов и Обработок».
 

Каталог «ExtForms» потрібно зробити всім (окрім звичайно адміністратора) тільки на читання разом з файлами  що в ньому (тут вже використовуючи можливості конкретної операційної системи де знаходиться сама база 1С).

 

Після цього нам взагалі нестрашні віруси(читай надто допитливі користувачі) що написані під 1С :)

 

Після цього берем за правило: кожен зовнішній звіт який ми поміщаєм в каталог «ExtForms» поперше робити тільки на читання і подруге ставити пароль на зовнішній звіт , але тільки на захист від редагування. (При відкритому зовінішньому звіті в конфігураторі тиснем «Действия-Установить пароль», вносим пароль, а вот галочку «Запрашивать пароль при исполнении» непотрібно ставити).

 

 

Далі в кожен зовнішній звіт вставляєм такий модуль:

 

  1. Ставимо на самий початок модуля (звичайно після визначення змінних всіх):

 

// Перевіряє на право використання звіту/обробки певним користувачем/групою

// © SVB (Василь) kreont@meta.ua

Функция ПраваДоступу()

           

            // Добавлення явно користувачів неважливо в яку групу загальну вони входять

            ДозволеноДляКористувачів = "Адміністратор";

            ДозволеноДляКористувачів = ДозволеноДляКористувачів + "АдминовАА";

            // і т.дальше добавляти дозвола для конкретного користувача так як він внесений в список    користувачів 1С

           

            // Аналогічно допусуєм наприклад дозвіл для всіх хто входить в групу «Администратори»

            //ДозволеноДляКористувачів = ДозволеноДляКористувачів + "Администратор";

 

            Если Макс( Найти(ДозволеноДляКористувачів, ИмяПользователя()),
Найти(ДозволеноДляКористувачів, НазваниеНабораПрав())) = 0 Тогда

                        Возврат 0;// Заборонено доступ

            КонецЕсли;

 

            Возврат 1;// Дозволений доступ

КонецФункции

 

 

  1. В процедуру «ПриОткрытии» з самого початку :

 

Процедура ПриОткрытии()

            Если ПраваДоступу() = 0 Тогда

                       Сообщить("Недостатньо прав. Зверніться до адміністратора");

                       СтатусВозврата(0);

                        Возврат;

            КонецЕсли;

 

 

 

Я тепер такий кусок коду вставляю в кожен зовнішній звіт, адмініструвати по власному досвіду скажу, зовсім нескладно, доступно і швидко.

Категорія: Програмування на 1С | Додав: _Admin_ (16.01.2009) | Автор: Василий
Переглядів: 2658 | Рейтинг: 0.0/0 |
Всього коментарів: 0
Ім`я *:
Email *:
Код *:

Статистика


Copyright MyCorp © 2024