Файл: Автоматизация разграничений прав доступа к ресурсам информационной системы в ООО "Монарх" (Технико-экономическая характеристика предметной области и предприятия. Анализ деятельности).pdf
Добавлен: 31.03.2023
Просмотров: 254
Скачиваний: 2
СОДЕРЖАНИЕ
I .Технико-экономическая характеристика предметной области и предприятия. Анализ деятельности.
Организационная структура управления предприятием
Выбор комплекса задач автоматизации и характеристика существующих бизнес-процессов
Обоснование необходимости использования вычислительной техники для решения задачи
Используемые классификаторы и системы кодирования
2.3 Характеристика нормативно-справочной, входной и оперативной информации
// Возврат;
// КонецЕсли;
// ИначеЕсли ФильтрКолонка = "ДатаПостановки" Тогда
// Если НачалоДня(СтрокаПодЗадача.ПодЗадача.Дата) <> НачалоДня(ФильтрЗначение) Тогда
// Возврат;
// КонецЕсли;
// ИначеЕсли ФильтрКолонка = "ДатаОжидаемая" Тогда
// Если НачалоДня(СтрокаПодЗадача.ПодЗадача.ДатаОкончания) <> НачалоДня(ФильтрЗначение) Тогда
// Возврат;
// КонецЕсли;
// КонецЕсли;
//КонецЕсли;
// создать новый узел дерева
НовыйУзел = Узел.Строки.Добавить();
НовыйУзел.ПодЗадача = СтрокаПодЗадача.ПодЗадача;
НовыйУзел.Выполнена = СтрокаПодЗадача.ПодЗадача.Проведен;
НовыйУзел.НомерВТабЧасти = СтрокаПодЗадача.НомерСтроки;
НовыйУзел.Наименование = Строка(СтрокаПодЗадача.ПодЗадача.Номер) + " " + СтрокаПодЗадача.ПодЗадача.Наименование;
НовыйУзел.Статус = СтрокаПодЗадача.ПодЗадача.Статус;
НовыйУзел.Дата = СтрокаПодЗадача.ПодЗадача.Дата;
НовыйУзел.ДатаОжидаемая = СтрокаПодЗадача.ПодЗадача.ОжидаемаяДатаВыполнения;
НовыйУзел.Комментарий = СтрокаПодЗадача.Комментарий;
НовыйУзел.Пометка = УстановитьПометку(СтрокаПодЗадача.ПодЗадача);
//НовыйУзел.Картинка = БиблиотекаКартинок.ДебетКредит;
// теперь рекурсивно для каждого поддрева
Для Каждого СтрокаПодЗадача Из СтрокаПодЗадача.ПодЗадача.Подзадачи Цикл
ЗаполнитьПодЗадачу(СтрокаПодЗадача, НовыйУзел);
КонецЦикла;
КонецПроцедуры // ЗаполнитьПодЗадачу
// признак выполнения задачи
Функция УстановитьПометку(Задача)
Возврат Число(Задача.Проведен);
//Если Задача.Проведен Тогда
// Возврат 1;
//КонецЕсли;
//
//Для Каждого СтрокаПодЗадача Из Задача.Подзадачи Цикл
// Если НЕ Задача.Проведен Тогда
// Возврат 2;
// КонецЕсли;
//КонецЦикла;
//
//Возврат 0;
КонецФункции
//пройти по массиву Путь (хранит ссылки на подзадачи) начиная с головы и вернуть ИД последнего узла
&НаКлиенте
Функция СпозиционироватьсяВДеревеПодзадач(Вдереве, Путь, Й)
Если Путь.Количество() = 0 Тогда
Возврат 0;
КонецЕсли;
Ключ = Путь[Й];
Для Каждого ТекущаяСтрока Из Вдереве.ПолучитьЭлементы() Цикл
Если ТекущаяСтрока.Подзадача = Ключ Тогда
Если Й = 0 Тогда
Возврат ТекущаяСтрока.ПолучитьИдентификатор();
Иначе
Возврат СпозиционироватьсяВДеревеПодзадач(ТекущаяСтрока, Путь, Й-1);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецФункции
// перехват выбора (двойной щелчок) - открыть текущую подзадачу
&НаКлиенте