Файл: Автоматизация разграничений прав доступа к ресурсам информационной системы в ООО "Монарх".pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 31.03.2023

Просмотров: 113

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ПРИЛОЖЕНИЯ

Программный код

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.РешениеПоЗаявке") Тогда

// Заполнение шапки

Для Каждого ТекСтрокаЗаявка Из ДанныеЗаполнения.Заявка Цикл

НоваяСтрока = Заявка.Добавить();

НоваяСтрока.ВидПрава = ТекСтрокаЗаявка.ВидПрава;

НоваяСтрока.Объект = ТекСтрокаЗаявка.Объект;

НоваяСтрока.Пользователь = ТекСтрокаЗаявка.Пользователь;

НоваяСтрока.Право = ТекСтрокаЗаявка.Право;

НоваяСтрока.СпециалистИБ = ТекСтрокаЗаявка.СпециалистИБ;

КонецЦикла;

КонецЕсли;

КонецПроцедуры

Процедура ОбработкаПроведения(Отказ, Режим)

// регистр ПраваВыданные

Движения.ПраваВыданные.Записывать = Истина;

Для Каждого ТекСтрокаЗаявка Из Заявка Цикл

Движение = Движения.ПраваВыданные.Добавить();

Движение.Период = Дата;

Движение.Пользователь = ТекСтрокаЗаявка.Пользователь;

Движение.Право = ТекСтрокаЗаявка.Право;

Движение.СпециалистИБ = ТекСтрокаЗаявка.СпециалистИБ;

Движение.Объект = ТекСтрокаЗаявка.Объект;

Движение.ВидПрава = ТекСтрокаЗаявка.ВидПрава;

КонецЦикла;

КонецПроцедуры

Макет = Документы.ПредоставлениеПраваДоступа.ПолучитьМакет("Печать");

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| ПредоставлениеПраваДоступа.Дата,

| ПредоставлениеПраваДоступа.Номер,

| ПредоставлениеПраваДоступа.Заявка.(

| НомерСтроки,

| Пользователь,

| ВидПрава,

| Право,

| СпециалистИБ,

| Объект

| )

|ИЗ

| Документ.ПредоставлениеПраваДоступа КАК ПредоставлениеПраваДоступа

|ГДЕ

| ПредоставлениеПраваДоступа.Ссылка В (&Ссылка)";

Запрос.Параметры.Вставить("Ссылка", Ссылка);

Выборка = Запрос.Выполнить().Выбрать();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

Шапка = Макет.ПолучитьОбласть("Шапка");

ОбластьЗаявкаШапка = Макет.ПолучитьОбласть("ЗаявкаШапка");

ОбластьЗаявка = Макет.ПолучитьОбласть("Заявка");

ТабДок.Очистить();

ВставлятьРазделительСтраниц = Ложь;

Пока Выборка.Следующий() Цикл

Если ВставлятьРазделительСтраниц Тогда

ТабДок.ВывестиГоризонтальныйРазделительСтраниц();

КонецЕсли;

ТабДок.Вывести(ОбластьЗаголовок);

Шапка.Параметры.Заполнить(Выборка);

ТабДок.Вывести(Шапка, Выборка.Уровень());

ТабДок.Вывести(ОбластьЗаявкаШапка);

ВыборкаЗаявка = Выборка.Заявка.Выбрать();

Пока ВыборкаЗаявка.Следующий() Цикл


ОбластьЗаявка.Параметры.Заполнить(ВыборкаЗаявка);

ТабДок.Вывести(ОбластьЗаявка, ВыборкаЗаявка.Уровень());

КонецЦикла;

ВставлятьРазделительСтраниц = Истина;

КонецЦикла;

Процедура ОбработкаПроведения(Отказ, Режим)

// регистр Решения

Движения.Решения.Записывать = Истина;

Для Каждого ТекСтрокаЗаявка Из Заявка Цикл

Движение = Движения.Решения.Добавить();

Движение.Период = Дата;

Движение.Пользователь = ТекСтрокаЗаявка.Пользователь;

Движение.Право = ТекСтрокаЗаявка.Право;

Движение.СпециалистИБ = ТекСтрокаЗаявка.СпециалистИБ;

Движение.Объект = ТекСтрокаЗаявка.Объект;

Движение.ВидПрава = ТекСтрокаЗаявка.ВидПрава;

Движение.Решение = ТекСтрокаЗаявка.Решение;

КонецЦикла;

КонецПроцедуры

Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)

Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.ЗавкаНаДоступ") Тогда

// Заполнение шапки

Для Каждого ТекСтрокаЗаявка Из ДанныеЗаполнения.Заявка Цикл

НоваяСтрока = Заявка.Добавить();

НоваяСтрока.ВидПрава = ТекСтрокаЗаявка.ВидПрава;

НоваяСтрока.Объект = ТекСтрокаЗаявка.Объект;

НоваяСтрока.Пользователь = ТекСтрокаЗаявка.Пользователь;

НоваяСтрока.Право = ТекСтрокаЗаявка.Право;

НоваяСтрока.СпециалистИБ = ТекСтрокаЗаявка.СпециалистИБ;

КонецЦикла;

КонецЕсли;

КонецПроцедуры

// регистр Заявки

Движения.Заявки.Записывать = Истина;

Для Каждого ТекСтрокаЗаявка Из Заявка Цикл

Движение = Движения.Заявки.Добавить();

Движение.Период = Дата;

Движение.Пользователь = ТекСтрокаЗаявка.Пользователь;

Движение.Право = ТекСтрокаЗаявка.Право;

Движение.СпециалистИБ = ТекСтрокаЗаявка.СпециалистИБ;

Движение.Объект = ТекСтрокаЗаявка.Объект;

Движение.ВидПрава = ТекСтрокаЗаявка.ВидПрава;

КонецЦикла;

Макет = Документы.ЗавкаНаДоступ.ПолучитьМакет("Печать");

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| ЗавкаНаДоступ.Дата,

| ЗавкаНаДоступ.Номер,

| ЗавкаНаДоступ.Заявка.(

| НомерСтроки,

| Пользователь,

| ВидПрава,

| Право,

| СпециалистИБ,

| Объект

| )

|ИЗ

| Документ.ЗавкаНаДоступ КАК ЗавкаНаДоступ

|ГДЕ

| ЗавкаНаДоступ.Ссылка В (&Ссылка)";

Запрос.Параметры.Вставить("Ссылка", Ссылка);

Выборка = Запрос.Выполнить().Выбрать();

ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок");

Шапка = Макет.ПолучитьОбласть("Шапка");

ОбластьЗаявкаШапка = Макет.ПолучитьОбласть("ЗаявкаШапка");