Подсистема

Заказать уникальную дипломную работу
Тип работы: Дипломная работа
Предмет: Программирование
  • 6161 страница
  • 4 + 4 источника
  • Добавлена 19.07.2015
3 000 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
СОДЕРЖАНИЕ

ВВЕДЕНИЕ 4
1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 6
1.1 Описание деятельности компании 6
1.2 Организационная структура компании 7
1.3 Структура и функции отдела информационных технологий 9
2 АНАЛИТИЧЕСКАЯ ЧАСТЬ 15
2.1 Анализ деятельности отдела информационных технологий. Обоснование внедрения информационной системы 15
2.2 Формирование требований к разрабатываемой информационной системе 18
2.3 Анализ существующих информационных систем. Обоснование собственной разработки 19
2.4 Обоснование выбора среды разработки 22
3 ПРОЕКТНАЯ ЧАСТЬ 24
3.1 Постановка задачи 24
3.2 Описание среды разработки «1С: Предприятие 8.3.» 25
3.3 Проектирование информационной системы 29
3.4 Реализация информационной системы 37
3.4.1 Константы 37
3.4.2 Справочники 38
3.4.3 Документы 43
3.4.4 Отчеты 48
3.4.5 Интерфейс 50
3.5 Руководство по информационной системе 53
4 ЭКОНОМИЧЕСКАЯ ЧАСТЬ 57
ЗАКЛЮЧЕНИЕ 61
СПИСОК ЛИТЕРАТУРЫ 62
ПРИЛОЖЕНИЕ 1. Листинг модулей информационной системы 63
Фрагмент для ознакомления

УстановитьПараметр("Исполнитель", Объект.Сотрудник);Запрос.УстановитьПараметр("Ссылка", Объект.Ссылка);Выборка = Запрос.Выполнить().Выбрать(); Список = Новый СписокЗначений;Пока Выборка.Следующий() ЦиклСписок.Добавить(Выборка.Очередность, Выборка.Заголовок);КонецЦикла; Возврат Список;КонецФункции&НаКлиентеПроцедура СдвинутьВсех(Команда)Ответ = Вопрос("Переместить в начало очереди?", РежимДиалогаВопрос.ДаНет);Если Ответ = КодВозвратаДиалога.Да ТогдаСдвинутьВсехСервер();ОбщегоНазначениеСервер.ПеренумероватьОчередьЗадач(Объект.Сотрудник);КонецЕсли; КонецПроцедуры&НаСервереПроцедура СдвинутьВсехСервер()НаборЗаписей = РегистрыСведений.ОчередьЗадач.СоздатьНаборЗаписей();НаборЗаписей.Отбор.Задача.Установить(Объект.Ссылка);НаборЗаписей.Отбор.Исполнитель.Установить(Объект.Сотрудник);НаборЗаписей.Прочитать();НаборЗаписей.Очистить();СтрНабора = НаборЗаписей.Добавить();СтрНабора.Исполнитель = Объект.Сотрудник;СтрНабора.Очередность = 0;СтрНабора.Период = ТекущаяДата();СтрНабора.Задача = Объект.Ссылка;НаборЗаписей.Записать();КонецПроцедуры&НаКлиентеПроцедура СписокРешенийПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)Отказ = Истина;СтруктураПараметров = Новый Структура;СтруктураПараметров.Вставить("Задача", Объект.Ссылка);СтруктураПараметров.Вставить("Сотрудник", Объект.Сотрудник);СтруктураПараметров.Вставить("ДатаВремяНачала", ТекущаяДата());СтруктураПараметров.Вставить("ДатаВремяКонца", ТекущаяДата() + Объект.ВремяПоПлану*60*60);ОткрытьФормуМодально("Документ.Решение.Форма.ФормаДокумента", СтруктураПараметров);КонецПроцедурыМодуль документа «Решение»:Процедура ОбработкаЗаполнения(ДанныеЗаполнения, СтандартнаяОбработка)Если ТипЗнч(ДанныеЗаполнения) = Тип("ДокументСсылка.Задача") ТогдаЗадача = ДанныеЗаполнения.Ссылка;Сотрудник = ДанныеЗаполнения.Сотрудник;КонецЕсли;КонецПроцедурыПроцедура ОбработкаПроведения(Отказ, РежимПроведения)Движения.РешенияЗадач.Записывать = Истина;Движения.РешенияЗадач.Очистить();Движение = Движения.РешенияЗадач.Добавить();Движение.Руководитель = Задача.Руководитель;Движение.Сотрудник= Сотрудник;Движение.Контрагент= Задача.Контрагент;Движение.Период = Дата;Движение.Задача = Задача;Движение.Решение = Ссылка;Движение.ВремяПоПлану= (ДатаВремяКонца - ДатаВремяНачала)*60;Движение.ВремяПоФакту= (ДатаВремяКонцаФакт - ДатаВремяНачалаФакт)*60;Движение.Заголовок = Задача.Заголовок;Движение.Задание = Задача.Задание;КонецПроцедурыМодуль формы документа «Решение»:&НаСервереПроцедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)Если Не ЗначениеЗаполнено(Объект.Ссылка) ТогдаЗаполнитьЗначенияСвойств(Объект, Параметры);КонецЕсли; Элементы.Задача.Видимость = ЗначениеЗаполнено(Объект.Задача);КонецПроцедуры&НаКлиентеПроцедура ПриЗакрытии()Оповестить("ОбновитьРабочийДень");КонецПроцедуры&НаКлиентеПроцедура ПриОткрытии(Отказ)Если Объект.ВремяПоФакту > 0 ТогдаМинутЗатрачено = Формат((Объект.ВремяПоФакту / 60 - Цел(Объект.ВремяПоФакту / 60)) * 60,"ЧЦ=2; ЧН=; ЧВН=");ЧасовЗатрачено = Формат(Цел(Объект.ВремяПоФакту / 60),"ЧЦ=2; ЧН=; ЧВН=");ЗатраченоВремени = "" + ЧасовЗатрачено + " ч. " + МинутЗатрачено + " мин.";ИначеЗатраченоВремени = "00 ч. 00 мин.";КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ДатаВремяНачалаПриИзменении(Элемент)Если Объект.ДатаВремяНачала <> '00010101000000' ТогдаОбъект.ДатаВремяНачала = НачалоДня(Объект.Дата) + (Объект.ДатаВремяНачала - НачалоДня(Объект.ДатаВремяНачала));КонецЕсли; Если Объект.ДатаВремяКонца < Объект.ДатаВремяНачала и Объект.ДатаВремяКонца <> '00010101000000' ТогдаСообщение = Новый СообщениеПользователю;Сообщение.Текст = "Время окончания решения не может быть меньше времени его начала";Сообщение.Сообщить(); Объект.ДатаВремяНачала = Объект.ДатаВремяКонца - Объект.ВремяПоФакту * 60КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ДатаВремяКонцаПриИзменении(Элемент)Если Объект.ДатаВремяКонца <> '00010101000000' ТогдаОбъект.ДатаВремяКонца = НачалоДня(Объект.Дата) + (Объект.ДатаВремяКонца - НачалоДня(Объект.ДатаВремяКонца));КонецЕсли;Если Объект.ДатаВремяКонца < Объект.ДатаВремяНачала ТогдаСообщение = Новый СообщениеПользователю;Сообщение.Текст = "Время окончания решения не может быть меньше времени его начала";Сообщение.Сообщить(); Объект.ДатаВремяКонца = Объект.ДатаВремяНачала + Объект.ВремяПоФакту * 60КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ВремяПоФактуПриИзменении(Элемент)Объект.ДатаВремяКонцаФакт = Объект.ДатаВремяНачалаФакт + Объект.ВремяПоФакту*60;ОбновитьЗатраченоВремени();КонецПроцедуры&НаКлиентеПроцедура ОбновитьЗатраченоВремени()Если Объект.ВремяПоФакту > 0 ТогдаМинутЗатрачено = Формат((Объект.ВремяПоФакту / 60 - Цел(Объект.ВремяПоФакту / 60)) * 60,"ЧЦ=2; ЧН=; ЧВН=");ЧасовЗатрачено = Формат(Цел(Объект.ВремяПоФакту / 60),"ЧЦ=2; ЧН=; ЧВН=");ЗатраченоВремени = "" + ЧасовЗатрачено + " ч. " + МинутЗатрачено + " мин.";ИначеЗатраченоВремени = "00 ч. 00 мин.";КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ДатаВремяНачалаПланПриИзменении(Элемент)Если Объект.ДатаВремяНачалаФакт <> '00010101000000' ТогдаОбъект.ДатаВремяНачалаФакт = НачалоДня(Объект.Дата) + (Объект.ДатаВремяНачалаФакт - НачалоДня(Объект.ДатаВремяНачалаФакт));КонецЕсли; Если Объект.ДатаВремяКонцаФакт < Объект.ДатаВремяНачалаФакт и Объект.ДатаВремяКонцаФакт <> '00010101000000' ТогдаСообщение = Новый СообщениеПользователю;Сообщение.Текст = "Время окончания решения не может быть меньше времени его начала";Сообщение.Сообщить(); Объект.ДатаВремяНачалаФакт = Объект.ДатаВремяКонцаФакт - Объект.ВремяПоФакту * 60КонецЕсли; Объект.ВремяПоФакту = (Объект.ДатаВремяКонцаФакт - Объект.ДатаВремяНачалаФакт)/60;ОбновитьЗатраченоВремени();КонецПроцедуры&НаКлиентеПроцедура ДатаВремяКонцаПланПриИзменении(Элемент)Если Объект.ДатаВремяКонцаФакт <> '00010101000000' ТогдаОбъект.ДатаВремяКонцаФакт = НачалоДня(Объект.Дата) + (Объект.ДатаВремяКонцаФакт - НачалоДня(Объект.ДатаВремяКонцаФакт));КонецЕсли; Если Объект.ДатаВремяКонцаФакт < Объект.ДатаВремяНачалаФакт и Объект.ДатаВремяКонцаФакт <> '00010101000000' ТогдаСообщение = Новый СообщениеПользователю;Сообщение.Текст = "Время окончания решения не может быть меньше времени его начала";Сообщение.Сообщить(); Объект.ДатаВремяКонцаФакт = Объект.ДатаВремяНачалаФакт + Объект.ВремяПоФакту * 60КонецЕсли; Объект.ВремяПоФакту = (Объект.ДатаВремяКонцаФакт - Объект.ДатаВремяНачалаФакт)/60;ОбновитьЗатраченоВремени();КонецПроцедуры&НаКлиентеПроцедура ДатаПриИзменении(Элемент)Если Объект.ДатаВремяНачала <> '00010101000000' ТогдаОбъект.ДатаВремяНачала = НачалоДня(Объект.Дата) + (Объект.ДатаВремяНачала - НачалоДня(Объект.ДатаВремяНачала));КонецЕсли; Если Объект.ДатаВремяКонца <> '00010101000000' ТогдаОбъект.ДатаВремяКонца = НачалоДня(Объект.Дата) + (Объект.ДатаВремяКонца - НачалоДня(Объект.ДатаВремяКонца));КонецЕсли;Если Объект.ДатаВремяНачалаФакт <> '00010101000000' ТогдаОбъект.ДатаВремяНачалаФакт = НачалоДня(Объект.Дата) + (Объект.ДатаВремяНачалаФакт - НачалоДня(Объект.ДатаВремяНачалаФакт));КонецЕсли; Если Объект.ДатаВремяКонцаФакт <> '00010101000000' ТогдаОбъект.ДатаВремяКонцаФакт = НачалоДня(Объект.Дата) + (Объект.ДатаВремяКонцаФакт - НачалоДня(Объект.ДатаВремяКонцаФакт));КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ЗаполнитьФакт(Команда)Объект.ДатаВремяКонцаФакт = Объект.ДатаВремяКонца;Объект.ДатаВремяНачалаФакт = Объект.ДатаВремяНачала;Объект.ВремяПоФакту = (Объект.ДатаВремяКонцаФакт - Объект.ДатаВремяНачалаФакт)/60;КонецПроцедурыМодуль отчета «Загруженность сотрудников»:&НаСервереПроцедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)НачалоРабочегоДня = Константы.НачалоРабочегоДня.Получить();ОкончаниеРабочегоДня = НачалоРабочегоДня + Константы.ДлительностьРабочегоДня.Получить();Дата = ТекущаяДата();КонецПроцедуры&НаКлиентеПроцедура ПриОткрытии(Отказ)ОбновитьГрафик();КонецПроцедуры&НаКлиентеПроцедура ОбновитьГрафик()ГрафикРабот = ПолучитьГрафикСервер();КонецПроцедуры&НаСервереФункция ПолучитьГрафикСервер()ТабДок = Новый ТабличныйДокумент;Макет = Отчеты.ЗагруженностьСотрудников.ПолучитьМакет("Макет");ОбластьПодразделение = Макет.ПолучитьОбласть("Строка|Подразделение");ОбластьПодразделение.Параметры.Подразделение = "Подразделение";ОбластьПодразделение.ТекущаяОбласть.ЦветФона = ЦветаСтиля.ЦветФонаШапкиОтчета;ТабДок.Вывести(ОбластьПодразделение);ОбластьСотрудник = Макет.ПолучитьОбласть("Строка|Сотрудник");ОбластьСотрудник.ТекущаяОбласть.ЦветФона = ЦветаСтиля.ЦветФонаШапкиОтчета;ОбластьСотрудник.Параметры.Сотрудник= "Сотрудник";ТабДок.Присоединить(ОбластьСотрудник);ОбластьВремя = Макет.ПолучитьОбласть("Строка|Время");врНачалоРабочегоДня= НачалоДня(Дата) + НачалоРабочегоДня*60*60;врОкончаниеРабочегоДня = НачалоДня(Дата) + ОкончаниеРабочегоДня*60*60;СоответствиеВремени = Новый ТаблицаЗначений;СоответствиеВремени.Колонки.Добавить("Ключ");СоответствиеВремени.Колонки.Добавить("Значение");НомерКолонки = 3;СтрСоответствиеВремени = СоответствиеВремени.Добавить();СтрСоответствиеВремени.Ключ = "C"+НомерКолонки;СтрСоответствиеВремени.Значение = врНачалоРабочегоДня;Пока врНачалоРабочегоДня < врОкончаниеРабочегоДня ЦиклОбластьВремя.ТекущаяОбласть.ЦветФона = ЦветаСтиля.ЦветФонаШапкиОтчета;ОбластьВремя.Параметры.Время = Формат(врНачалоРабочегоДня,"ДФ=HH:mm");ТабДок.Присоединить(ОбластьВремя);врНачалоРабочегоДня = врНачалоРабочегоДня + 15*60;СтрСоответствиеВремени = СоответствиеВремени.Добавить();СтрСоответствиеВремени.Ключ = "C"+НомерКолонки;СтрСоответствиеВремени.Значение = врНачалоРабочегоДня;НомерКолонки = НомерКолонки + 1;КонецЦикла; Запрос = Новый Запрос("ВЫБРАТЬ|Пользователи.ФИО КАК Сотрудник,|Пользователи.Родитель КАК Подразделение,|Пользователи.Ссылка|ИЗ|Справочник.Пользователи КАК Пользователи|ГДЕ|НЕ Пользователи.ПометкаУдаления|И НЕ Пользователи.ЭтоГруппа|И ВЫБОР|КОГДА &Подразделение = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)|ТОГДА ИСТИНА|ИНАЧЕ Пользователи.Ссылка В ИЕРАРХИИ(&Подразделение)|КОНЕЦ||УПОРЯДОЧИТЬ ПО|Подразделение,|Сотрудник");Запрос.УстановитьПараметр("Подразделение", Подразделение);Выборка = Запрос.Выполнить().Выбрать();СоответствиеСотрудников= Новый Соответствие;НомерСтроки = 2;Пока Выборка.Следующий() ЦиклОбластьПодразделение.Параметры.Подразделение= Выборка.Подразделение;ОбластьПодразделение.ТекущаяОбласть.ЦветФона = WebЦвета.Белый;ТабДок.Вывести(ОбластьПодразделение);ОбластьСотрудник.Параметры.Сотрудник= Выборка.Сотрудник;ОбластьСотрудник.ТекущаяОбласть.ЦветФона = WebЦвета.Белый;ТабДок.Присоединить(ОбластьСотрудник);врНачалоРабочегоДня= НачалоДня(Дата) + НачалоРабочегоДня*60*60;врОкончаниеРабочегоДня = НачалоДня(Дата) + ОкончаниеРабочегоДня*60*60;НомерКолонки = 3;Пока врНачалоРабочегоДня < врОкончаниеРабочегоДня ЦиклОбластьВремя.ТекущаяОбласть.ЦветФона = WebЦвета.Белый;ОбластьВремя.Параметры.Время = "";ТабДок.Присоединить(ОбластьВремя);врНачалоРабочегоДня = врНачалоРабочегоДня + 15*60;НомерКолонки = НомерКолонки + 1;КонецЦикла; СоответствиеСотрудников.Вставить(Выборка.Ссылка, "R"+НомерСтроки);НомерСтроки = НомерСтроки + 1;КонецЦикла;Запрос = Новый Запрос;Запрос.Текст = ПолучитьТекстЗапроса();Запрос.УстановитьПараметр("Дата", НачалоДня(Дата));Запрос.УстановитьПараметр("ПустаяДата", '00010101000000');Запрос.УстановитьПараметр("Подразделение", Подразделение);Выборка = Запрос.Выполнить().Выбрать();Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);Пока Выборка.Следующий() ЦиклСтрокаСотрудник = СоответствиеСотрудников.Получить(Выборка.Сотрудник);КолонкаНачала = "";КолонкаКонца = "";СоответствиеВремени.Сортировать("Значение Возр");Для каждого Строчка Из СоответствиеВремени ЦиклЕсли Выборка.ДатаВремяНачала < Строчка.Значение ТогдаКолонкаНачала = Строчка.Ключ;Прервать;КонецЕсли; КонецЦикла; СоответствиеВремени.Сортировать("Значение Убыв");Для каждого Строчка Из СоответствиеВремени ЦиклЕсли Выборка.ДатаВремяКонца >= Строчка.Значение ТогдаКолонкаКонца = Строчка.Ключ;Прервать;КонецЕсли; КонецЦикла;Если НачалоДня(Выборка.ДатаВремяНачала) = НачалоДня(Дата) или НачалоДня(Выборка.ДатаВремяКонца) = НачалоДня(Дата) ТогдаОбласть = ТабДок.Область(СтрокаСотрудник + ?(ПустаяСтрока(КолонкаНачала),СоответствиеВремени[СоответствиеВремени.Количество()-1].Ключ,КолонкаНачала) + ":" + СтрокаСотрудник + ?(ПустаяСтрока(КолонкаКонца),СоответствиеВремени[0].Ключ,КолонкаКонца));Область.Разъединить();Область.Объединить();Область.ОриентацияТекста = 0;Область.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Лево;Область.ВертикальноеПоложение = ВертикальноеПоложение.Верх;Область.Текст = Выборка.ТекстРешения;Область.Расшифровка = Выборка.Ссылка;Если Выборка.СостояниеЗадачи = Перечисления.СостоянияЗадач.ТекущаяЗадача ТогдаОбласть.ЦветФона = WebЦвета.СветлоЗолотистый;ИначеЕсли Выборка.СостояниеЗадачи = Перечисления.СостоянияЗадач.ЗавершеннаяЗадача Тогда Область.ЦветФона = WebЦвета.СветлоЗеленый;КонецЕсли; Область.Обвести(Линия, Линия, Линия, Линия);КонецЕсли; КонецЦикла; Возврат ТабДок;КонецФункции&НаСервереФункция ПолучитьТекстЗапроса()Возврат ("ВЫБРАТЬ|Решение.Ссылка,|ВЫБОР|КОГДА Решение.ДатаВремяНачалаФакт <> &ПустаяДата|ТОГДА Решение.ДатаВремяНачалаФакт|ИНАЧЕ Решение.ДатаВремяНачала|КОНЕЦ КАК ДатаВремяНачала,|ВЫБОР|КОГДА Решение.ДатаВремяКонцаФакт <> &ПустаяДата|ТОГДА Решение.ДатаВремяКонцаФакт|ИНАЧЕ Решение.ДатаВремяКонца|КОНЕЦ КАК ДатаВремяКонца,|Решение.Сотрудник,|Решение.Номер,|Решение.ТекстРешения,|Решение.Задача.СостояниеЗадачи КАК СостояниеЗадачи|ИЗ|Документ.Решение КАК Решение|ГДЕ|НЕ Решение.ПометкаУдаления|И Решение.ДатаВремяНачала >= &Дата|И ВЫБОР|КОГДА &Подразделение = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)|ТОГДА ИСТИНА|ИНАЧЕ Решение.Сотрудник В ИЕРАРХИИ (&Подразделение)|КОНЕЦ||УПОРЯДОЧИТЬ ПО|ДатаВремяНачала,|ДатаВремяКонца")КонецФункции&НаКлиентеПроцедура ГрафикРаботОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)СтандартнаяОбработка = Ложь;Если Расшифровка = Неопределено ТогдаВозврат;КонецЕсли; Если ТипЗнч(Расшифровка) = Тип("ДокументСсылка.Решение") ТогдаСтандартнаяОбработка = Ложь;ПараметрыФормы = Новый Структура;ПараметрыФормы.Вставить("Ключ",Расшифровка);ОткрытьФорму("Документ.Решение.Форма.ФормаДокумента",ПараметрыФормы,Элемент,Окно);КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ДатаПриИзменении(Элемент)ОбновитьГрафик();КонецПроцедуры&НаКлиентеПроцедура ПодразделениеПриИзменении(Элемент)ОбновитьГрафик();КонецПроцедурыМодуль обработки «Рабочий стол»:&НаСервереПроцедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)Параметры.ЗавершеннаяЗадача = Перечисления.СостоянияЗадач.ЗавершеннаяЗадача;Параметры.ТекущаяЗадача = Перечисления.СостоянияЗадач.ТекущаяЗадача;Параметры.ПустаяЗадача = Перечисления.СостоянияЗадач.ПустаяСсылка();Параметры.ТекущийПользователь = ПараметрыСеанса.ТекущийПользователь;Дата = ПараметрыСеанса.ДатаРабочегоСтола;НачалоРабочегоДня = Константы.НачалоРабочегоДня.Получить(); ДлительностьРабочегоДня = Константы.ДлительностьРабочегоДня.Получить(); ДлительностьОбеда = Константы.ДлительностьОбеденногоПерерыва.Получить(); КонецРабочегоДня = НачалоРабочегоДня + ДлительностьРабочегоДня + ДлительностьОбеда;ДетализацияРабочегоДня = Константы.ДетализацияРабочегоДня.Получить(); Сотрудник = ПараметрыСеанса.ТекущийПользователь;врНачалоРабочегоДня= НачалоДня(Дата) + НачалоРабочегоДня*60*60;врОкончаниеРабочегоДня= НачалоДня(Дата) + КонецРабочегоДня*60*60;НомерСтроки= 1;ТаблицаВремени.Очистить();ПерваяСтрока = Истина;Пока врНачалоРабочегоДня < врОкончаниеРабочегоДня ЦиклЕсли ПерваяСтрока ТогдаврНачалоРабочегоДня= врНачалоРабочегоДня;ПерваяСтрока= Ложь;ИначеврНачалоРабочегоДня= врНачалоРабочегоДня + ДетализацияРабочегоДня*60;КонецЕсли; СтрСоответствиеВремени = ТаблицаВремени.Добавить();СтрСоответствиеВремени.Ключ = НомерСтроки;СтрСоответствиеВремени.Значение = врНачалоРабочегоДня;НомерСтроки = НомерСтроки + 1;КонецЦикла; ПолучитьТабДок();ПервоеОткрытие = Истина;ТекущийПользователь = ПараметрыСеанса.ТекущийПользователь;Если РольДоступна("Сотрудник") ТогдаЭлементы.МоиЗадачи.Пометка = Не Элементы.МоиЗадачи.Пометка;КонецЕсли; Запрос = Новый Запрос("ВЫБРАТЬ|ТипыРешений.Ссылка,|ТипыРешений.Наименование,|ТипыРешений.Код,|ТипыРешений.ИмяКартинки|ИЗ|Справочник.ТипыРешений КАК ТипыРешений|ГДЕ|НЕ ТипыРешений.ПометкаУдаления||УПОРЯДОЧИТЬ ПО|ТипыРешений.Порядок");Выборка = Запрос.Выполнить().Выбрать();Пока Выборка.Следующий() ЦиклНовКоманда = Команды.Добавить("Код"+Выборка.Код);НовКоманда.Действие = "ДобавитьСобытие";НовЭлемент = Элементы.Добавить("Код"+Выборка.Код, Тип("КнопкаФормы"), Элементы.ТабДок.КонтекстноеМеню.ПодчиненныеЭлементы.ДобавитьПоТипуРешения); НовЭлемент.Заголовок = Выборка.Наименование;НовЭлемент.ИмяКоманды = НовКоманда.Имя;Если Не ПустаяСтрока(Выборка.ИмяКартинки) ТогдаНовЭлемент.Картинка= БиблиотекаКартинок[Выборка.ИмяКартинки];КонецЕсли; КонецЦикла; КонецПроцедуры&НаКлиентеПроцедура ПриОткрытии(Отказ)ВключитьОтборПоПользователю();Параметры.ЦветОбластиВыделен = WebЦвета.Черный;Параметры.ЦветОбластиНеВыделен = Новый Цвет(179, 172, 134);ОбновитьТекущиеЗадачи();ТабДок.ФиксацияСлева = 5;КонецПроцедуры&НаКлиентеПроцедура ОбновитьРабочийДень(Команда)ПолучитьТабДок();ТабДок.ФиксацияСлева = 5;КонецПроцедуры&НаКлиентеПроцедура СписокДокументовПриАктивизацииСтроки(Элемент)УстановитьОписаниеЗадачи(Элемент);КонецПроцедуры&НаКлиентеПроцедура УстановитьОписаниеЗадачи(Элемент)ТабФормы = Элементы[Элемент.Имя];Если ТабФормы = Неопределено ТогдаВозврат;КонецЕсли; Если Не ТекущаяЗадача = ТабФормы.ТекущаяСтрока ТогдаТекущаяЗадача = Элемент.ТекущаяСтрока;ТекущаяСтрока = ТабФормы.ТекущиеДанные;Если ТекущаяСтрока = Неопределено ТогдаВозврат;КонецЕсли; Если ТекущаяСтрока.Свойство("ГруппировкаСтроки") и ТекущаяСтрока.Свойство("ГруппировкаСтроки") <> Неопределено ТогдаОписаниеЗадачи = "";ИначеОписаниеЗадачи = ТекущаяСтрока.Задание;КонецЕсли; КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ТабДокОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)СтандартнаяОбработка = Ложь;ПараметрыФормы = Новый Структура;ПараметрыФормы.Вставить("Ключ",Расшифровка);ОткрытьФорму("Документ.Решение.Форма.ФормаДокумента",ПараметрыФормы,Элемент,Окно);КонецПроцедуры&НаКлиентеПроцедура СостоянияЗадачПриСменеСтраницы(Элемент, ТекущаяСтраница)Если ТекущаяСтраница.Имя = "ТекущиеЗадачи" Тогда СостояниеЗадачи = Параметры.ТекущаяЗадача;ИначеЕсли ТекущаяСтраница.Имя = "ЗавершенныеЗадачи" Тогда СостояниеЗадачи = Параметры.ЗавершеннаяЗадача;КонецЕсли; Если ТекущаяСтраница.Имя = "ТекущиеЗадачи" Тогда Элементы.СписокДокументовТекущий.Обновить();ИначеЕсли ТекущаяСтраница.Имя = "ЗавершенныеЗадачи" Тогда Элементы.СписокДокументовЗавершенных.Обновить();КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ДобавитьНовуюЗадачу()Отказ = Истина;ПараметрыФормыЗадачи = Новый Структура;ОткрытьФормуМодально("Обработка.ЗарегистрироватьЗадачу.Форма.ФормаУправляемая",ПараметрыФормыЗадачи);СостояниеЗадачи = Параметры.ТекущаяЗадача;Элементы.СписокДокументовТекущий.Обновить();КонецПроцедуры&НаКлиентеПроцедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)Если ИмяСобытия = "ОбновитьРабочийДень" ТогдаПолучитьТабДок();ТабДок.ФиксацияСлева = 5;КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ДатаПриИзменении(Элемент)врНачалоРабочегоДня= НачалоДня(Дата) + НачалоРабочегоДня*60*60;врОкончаниеРабочегоДня= НачалоДня(Дата) + КонецРабочегоДня*60*60;НомерСтроки= 1;ТаблицаВремени.Очистить();ПерваяСтрока = Истина;Пока врНачалоРабочегоДня < врОкончаниеРабочегоДня ЦиклЕсли ПерваяСтрока ТогдаврНачалоРабочегоДня= врНачалоРабочегоДня;ПерваяСтрока= Ложь;ИначеврНачалоРабочегоДня= врНачалоРабочегоДня + ДетализацияРабочегоДня*60;КонецЕсли; СтрСоответствиеВремени = ТаблицаВремени.Добавить();СтрСоответствиеВремени.Ключ = НомерСтроки;СтрСоответствиеВремени.Значение = врНачалоРабочегоДня;НомерСтроки = НомерСтроки + 1;КонецЦикла; ПолучитьТабДок();ТабДок.ФиксацияСлева = 5;КонецПроцедуры&НаКлиентеПроцедура УдалитьРешение(Команда)Расшифровка = Элементы.ТабДок.ТекущаяОбласть.Расшифровка;Если ЗначениеЗаполнено(Расшифровка) ТогдаОтвет = Вопрос("Удалить выделенное решение?", РежимДиалогаВопрос.ДаНет);Если Ответ = КодВозвратаДиалога.Да ТогдаУдалитьРешениеНаСервере(Расшифровка);ПолучитьТабДок();ТабДок.ФиксацияСлева = 5;КонецЕсли; КонецЕсли; КонецПроцедуры&НаКлиентеПроцедура ЗавершитьЗадачу(Команда)ТекЗадача = ПолучитьТекущуюЗадачу();Если ТекЗадача = Неопределено ТогдаВозврат;КонецЕсли;УстановитьНовоеСостояниеЗадачи(ТекЗадача, "ЗавершеннаяЗадача");Если Элементы.СостоянияЗадач.ТекущаяСтраница = Элементы.ТекущиеЗадачи ТогдаЭлементы.СписокДокументовТекущий.Обновить();ИначеЕсли Элементы.СостоянияЗадач.ТекущаяСтраница = Элементы.ЗавершенныеЗадачи Тогда Элементы.СписокДокументовЗавершенных.Обновить();КонецЕсли; ПолучитьТабДок();ТабДок.ФиксацияСлева = 5;КонецПроцедуры&НаКлиентеПроцедура ТекущаяЗадача(Команда)ТекЗадача = ПолучитьТекущуюЗадачу();Если ТекЗадача = Неопределено ТогдаВозврат;КонецЕсли;УстановитьНовоеСостояниеЗадачи(ТекЗадача, "ТекущаяЗадача");ПолучитьТабДок();ТабДок.ФиксацияСлева = 5;КонецПроцедуры&НаКлиентеФункция ПолучитьТекущуюЗадачу()Если Элементы.СостоянияЗадач.ТекущаяСтраница.Имя = "ТекущиеЗадачи" ТогдаВозврат Элементы.СписокДокументовТекущий.ТекущаяСтрока;ИначеЕсли Элементы.СостоянияЗадач.ТекущаяСтраница.Имя = "ЗавершенныеЗадачи" Тогда Возврат Элементы.СписокДокументовЗавершенных.ТекущаяСтрока;КонецЕсли; КонецФункции&НаКлиентеПроцедура ДобавитьЗадачу()ТекСтрока = Элементы.СписокКонтрагентов.ТекущиеДанные;Если ТекСтрока = Неопределено ТогдаВозврат;КонецЕсли; ДобавитьНовуюЗадачу()КонецПроцедуры&НаКлиентеПроцедура МоиЗадачи()Элементы.МоиЗадачи.Пометка = Не Элементы.МоиЗадачи.Пометка;ВключитьОтборПоПользователю();КонецПроцедуры&НаКлиентеПроцедура ВключитьОтборПоПользователю()СписокПользователей = Новый СписокЗначений;СписокПользователей.Добавить(Сотрудник);СписокПользователей.Добавить(ПолучитьРеквизит(Сотрудник, "Родитель"));ОбщегоНазначенияКлиентСервер.ИзменитьОтбор(СписокДокументовЗавершенных, "Сотрудник", СписокПользователей, Элементы.МоиЗадачи.Пометка, ВидСравненияКомпоновкиДанных.ВСписке);ОбщегоНазначенияКлиентСервер.ИзменитьОтбор(СписокДокументовТекущий, "Сотрудник", СписокПользователей, Элементы.МоиЗадачи.Пометка, ВидСравненияКомпоновкиДанных.ВСписке);КонецПроцедуры&НаКлиентеПроцедура СотрудникПриИзменении(Элемент)ВключитьОтборПоПользователю();ПолучитьТабДок();ТабДок.ФиксацияСлева = 5;КонецПроцедуры&НаКлиентеПроцедура УстановитьТекущегоПользователя(Команда)Сотрудник = ТекущийПользователь;ПолучитьТабДок();ТабДок.ФиксацияСлева = 5;КонецПроцедуры&НаСервереПроцедура ПолучитьТабДок()ПараметрыСеанса.ДатаРабочегоСтола = Дата;Запрос = Новый Запрос("ВЫБРАТЬ|Решение.ТекстРешения,|ВЫБОР|КОГДА Решение.ДатаВремяНачалаФакт <> &ПустаяДата|ТОГДА Решение.ДатаВремяНачалаФакт|ИНАЧЕ Решение.ДатаВремяНачала|КОНЕЦ КАК ДатаВремяНачала,|ВЫБОР|КОГДА Решение.ДатаВремяКонцаФакт <> &ПустаяДата|ТОГДА Решение.ДатаВремяКонцаФакт|ИНАЧЕ Решение.ДатаВремяКонца|КОНЕЦ КАК ДатаВремяКонца,|Решение.Ссылка КАК Решение|ИЗ|Документ.Решение КАК Решение|ГДЕ|Решение.ДатаВремяНачала МЕЖДУ &НачалоДня И &КонецДня|И Решение.Проведен|И Решение.Сотрудник = &Сотрудник");Запрос.УстановитьПараметр("НачалоДня", НачалоДня(Дата));Запрос.УстановитьПараметр("КонецДня", КонецДня(Дата));Запрос.УстановитьПараметр("ПустаяДата", '00010101000000');Запрос.УстановитьПараметр("Сотрудник", Сотрудник);ТаблицаРешений = Запрос.Выполнить().Выгрузить();ТабДок.Очистить();Макет = Обработки.РабочийСтол.ПолучитьМакет("РабочийДеньУправляемый");ОбластьЧас = Макет.ПолучитьОбласть("Строка|Час");ОбластьМинута = Макет.ПолучитьОбласть("Строка|Минута");ОбластьРешение = Макет.ПолучитьОбласть("Строка|Решение");ПоследняяСтрока = ТаблицаВремени[ТаблицаВремени.Количество() - 1];Для каждого Строчка Из ТаблицаВремени ЦиклЕсли Строчка = ПоследняяСтрока ТогдаПрервать;КонецЕсли;ОбластьЧас.Параметры.Время= Формат(Строчка.Значение,"ДФ=HH");ТабДок.Вывести(ОбластьЧас);ОбластьМинута.Параметры.Мин= Формат(Строчка.Значение,"ДФ=mm");ТабДок.Присоединить(ОбластьМинута);ТабДок.Присоединить(ОбластьРешение);КонецЦикла; Запрос = Новый Запрос("ВЫБРАТЬ|ТаблицаВремени.Ключ,|ТаблицаВремени.Значение|ПОМЕСТИТЬ ТаблицаВремени|ИЗ|&ТаблицаВремени КАК ТаблицаВремени|;||////////////////////////////////////////////////////////////////////////////////|ВЫБРАТЬ|ТаблицаВремени.Ключ КАК Ключ,|ЧАС(ТаблицаВремени.Значение) КАК Значение|ИЗ|ТаблицаВремени КАК ТаблицаВремени|ИТОГИ ПО|Значение,|Ключ|;||////////////////////////////////////////////////////////////////////////////////|УНИЧТОЖИТЬ ТаблицаВремени");Запрос.УстановитьПараметр("ТаблицаВремени", ТаблицаВремени.Выгрузить());ДеревоВремени = Запрос.Выполнить().Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкам);Для каждого Строчка Из ДеревоВремени.Строки ЦиклЕсли Строчка.Строки.Количество() > 1 ТогдаКоординатыПервойСтроки= Строчка.Строки[0].Ключ;ИначеПрервать;КонецЕсли; КоординатыПоследнейСтроки = Строчка.Строки[Строчка.Строки.Количество()-1].Ключ;ОбластьОбъединения = ТабДок.Область("R"+КоординатыПервойСтроки+"C1"+":R"+КоординатыПоследнейСтроки+"C1");ОбластьОбъединения.Объединить();КонецЦикла; Линия = Новый Линия(ТипЛинииЯчейкиТабличногоДокумента.Сплошная, 1);Для каждого СтрРешение Из ТаблицаРешений ЦиклНачалоЗадачи = Неопределено;КонецЗадачи = Неопределено;Для каждого Строчка Из ТаблицаВремени ЦиклЕсли ЗначениеЗаполнено(НачалоЗадачи) и ЗначениеЗаполнено(КонецЗадачи) ТогдаПрервать;КонецЕсли; Если СтрРешение.ДатаВремяНачала <= Строчка.Значение и Не ЗначениеЗаполнено(НачалоЗадачи) ТогдаНачалоЗадачи = Строчка.Ключ;КонецЕсли; Если СтрРешение.ДатаВремяКонца <= Строчка.Значение и Не ЗначениеЗаполнено(КонецЗадачи) ТогдаКонецЗадачи = Строчка.Ключ-1;КонецЕсли; КонецЦикла;Если Не ЗначениеЗаполнено(НачалоЗадачи) и Не ЗначениеЗаполнено(КонецЗадачи) ТогдаПродолжить;КонецЕсли; ОбластьОбъединения = ТабДок.Область("R"+НачалоЗадачи+"C3"+":R"+КонецЗадачи+"C3");ОбластьОбъединения.Объединить();Если ЗначениеЗаполнено(СтрРешение.Решение.Задача) ТогдаОбластьОбъединения.Текст = """" + СтрРешение.Решение.Задача.Контрагент + """ ("+ СтрРешение.Решение.ВремяПоФакту + " мин.) " + Символы.ПС + СтрРешение.ТекстРешения;ОбластьОбъединения.Расшифровка = СтрРешение.Решение;ИначеОбластьОбъединения.Текст = СтрРешение.ТекстРешения + " ("+ СтрРешение.Решение.ВремяПоФакту + " мин.) ";ОбластьОбъединения.Расшифровка = СтрРешение.Решение;КонецЕсли; ОбластьОбъединения.Обвести(Линия, Линия, Линия, Линия);Если СтрРешение.Решение.Задача.СостояниеЗадачи = Перечисления.СостоянияЗадач.ТекущаяЗадача ТогдаЦветФона = WebЦвета.СветлоЗолотистый;ИначеЕсли СтрРешение.Решение.Задача.СостояниеЗадачи = Перечисления.СостоянияЗадач.ЗавершеннаяЗадача Тогда ЦветФона = WebЦвета.СветлоЗеленый;ИначеЦветФона = ЦветаСтиля.ЦветФонаКнопки;КонецЕсли;Если ТипЗнч(ЦветФона) = Тип("Строка") ТогдаОбластьОбъединения.ЦветФона = ЗначениеИзСтрокиВнутр(ЦветФона);ИначеОбластьОбъединения.ЦветФона = ЦветФона;КонецЕсли; КонецЦикла; КонецПроцедуры&НаСервереПроцедура УдалитьРешениеНаСервере(Расшифровка)ПопыткаОбъектРасшифровки = Расшифровка.ПолучитьОбъект();ОбъектРасшифровки.ПометкаУдаления = Истина;ОбъектРасшифровки.Записать(РежимЗаписиДокумента.ОтменаПроведения);ИсключениеСообщить("Не удалось удалить решение по причине: ");Сообщить(ОписаниеОшибки());КонецПопытки;КонецПроцедуры&НаСервереФункция ПолучитьРеквизит(врОбъект, ИмяРеквизита)Возврат врОбъект[ИмяРеквизита];КонецФункции&НаСервереПроцедура УстановитьНовоеСостояниеЗадачи(Задача, Состояние)ОбъектЗадачи = Задача.ПолучитьОбъект();ОбъектЗадачи.СостояниеЗадачи = Перечисления.СостоянияЗадач[Состояние];Если ОбъектЗадачи.СостояниеЗадачи = Перечисления.СостоянияЗадач.ЗавершеннаяЗадача ТогдаОбъектЗадачи.ДатаИсполнения = ТекущаяДата();ИначеОбъектЗадачи.ДатаИсполнения = '00010101';КонецЕсли; ПопыткаОбъектЗадачи.Записать(РежимЗаписиДокумента.Проведение);ИсключениеСообщение = Новый СообщениеПользователю;Сообщение.Текст = ОписаниеОшибки();Сообщение.Сообщить(); КонецПопытки;КонецПроцедуры&НаКлиентеПроцедура СписокДокументовПередНачаломДобавления(Элемент, Отказ, Копирование, Родитель, Группа)Отказ = Истина;ДобавитьНовуюЗадачу();КонецПроцедуры&НаКлиентеПроцедура ДобавитьСобытие(Команда)ТипРешения = ПолучитьТипРешения(Команда.Имя);Если Не ЗначениеЗаполнено(ТипРешения) ТогдаВозврат;КонецЕсли; Если ПолучитьРеквизит(ТипРешения,"РешениеПоЗадаче") ТогдаЕсли Элементы.СостоянияЗадач.ТекущаяСтраница.Имя = "ТекущиеЗадачи" Тогда ТекущаяЗадача = Элементы.СписокДокументовТекущий.ТекущаяСтрока;ИначеЕсли Элементы.СостоянияЗадач.ТекущаяСтраница.Имя = "ЗавершенныеЗадачи" Тогда ТекущаяЗадача = Элементы.СписокДокументовЗавершенных.ТекущаяСтрока;КонецЕсли; Если ТекущаяЗадача = Неопределено или Не ЗначениеЗаполнено(ТекущаяЗадача) ТогдаПредупреждение("Выберите задачу!");Возврат;КонецЕсли; ИначеТекущаяЗадача = Неопределено;КонецЕсли; Решение = Неопределено;НомерСтрокиНачало = ТабДок.ТекущаяОбласть.Верх;НомерСтрокиКонец = ТабДок.ТекущаяОбласть.Низ;КоэффициентВремени = Окр(ДетализацияРабочегоДня/60, 2);НайденыеСтроки = ТаблицаВремени.НайтиСтроки(Новый Структура("Ключ", НомерСтрокиНачало));Если НайденыеСтроки.Количество() > 0 ТогдаВремяНачало= НайденыеСтроки[0].Значение;КонецЕсли; НайденыеСтроки = ТаблицаВремени.НайтиСтроки(Новый Структура("Ключ", НомерСтрокиКонец+1));Если НайденыеСтроки.Количество() > 0 ТогдаВремяКонец= НайденыеСтроки[0].Значение;КонецЕсли; Если Не ЗначениеЗаполнено(ВремяНачало) и Не ЗначениеЗаполнено(ВремяКонец) ТогдаВозврат;КонецЕсли;ПараметрыФормы = Новый Структура;ПараметрыФормы.Вставить("Сотрудник",Параметры.ТекущийПользователь);ПараметрыФормы.Вставить("ВремяПоФакту",(ВремяКонец - ВремяНачало) / 60);ПараметрыФормы.Вставить("ДатаВремяНачала",ВремяНачало);ПараметрыФормы.Вставить("ДатаВремяКонца",ВремяКонец);ПараметрыФормы.Вставить("ДатаВремяНачалаФакт",ВремяНачало);ПараметрыФормы.Вставить("ДатаВремяКонцаФакт",ВремяКонец);ПараметрыФормы.Вставить("Дата", ВремяНачало);ПараметрыФормы.Вставить("Задача", ТекущаяЗадача);ПараметрыФормы.Вставить("ТипРешения", ТипРешения);ОткрытьФормуМодально("Документ.Решение.Форма.ФормаДокумента",ПараметрыФормы);КонецПроцедуры&НаСервереФункция ПолучитьТипРешения(КодТипаРешения)Возврат Справочники.ТипыРешений.НайтиПоКоду(СтрЗаменить(КодТипаРешения, "Код",""));КонецФункции&НаКлиентеПроцедура ОбновитьТекущиеЗадачи()СписокДокументовТекущий.Параметры.УстановитьЗначениеПараметра("ТекущаяДата", ТекущаяДата());Элементы.СписокДокументовТекущий.Обновить();КонецПроцедуры

СПИСОК ЛИТЕРАТУРЫ

Основная литература:
1. Блинов А.О., Реинжиниринг бизнес-процессов – М.: ЮНИТИ-ДАНА, 2010 г. – 342 с.
2. Габец А. П., Гончаров Д. И., Козырев Д.В., Кухлевский Д.С., Радченко М.Г. Профессиональная разработка в системе 1С:Предприятие 8. – М.: ООО «1С– Паблишинг», 2007 г.– 808 с.
3. Ермошкин И., Тарасов А., Карминский С. Демистификация ИТ: Что на самом деле информационные технологии дают бизнесу. — М.: Альпина Бизнес Букс, 2006 г. – 296 с.
4. МедведевВ.А. Автоматизированные системы бизнес-планирования. Учебное пособие. Санкт – СПб.: СЗГУ, 2010 г.
5. Радченко М.Г., Хрусталева Е.Ю. 1С: Предприятие 8.3. Практическое пособие разработчика. Примеры и типовые приемы. – М.: ООО «1С – Паблишинг», 2013 г.– 964 с.

Электронные ресурсы:
1. Битрикс 24 [Электронный ресурс]. URL: http://bitrix24.ru/(дата обращения: 22.04.2015).
2. Обзор системы «1С: Предприятие 8»: [Электронный ресурс]. URL: http://v8.1c.ru/overview (Дата обращения: 30.05.2015).
3. Отраслевые и специализированные решения «1С: Предприятие»: [Электронный ресурс]. URL: http://solutions.1c.ru/ (Дата обращения: 29.05.2015).
4. Система компоновки данных [Электронный ресурс]. URL:http://v8.1c.ru/overview/datacomposition.htm(дата обращения: 22.05.2015).

Вопрос-ответ:

Какую деятельность охватывает подсистема 4?

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

Как организована компания с точки зрения организационной структуры?

Компания имеет организационную структуру, которая включает отдел информационных технологий.

Какие функции выполняет отдел информационных технологий?

Отдел информационных технологий выполняет функции, связанные с разработкой, поддержкой и обслуживанием информационных систем компании.

Почему необходимо внедрение информационной системы в отдел информационных технологий?

Внедрение информационной системы в отдел информационных технологий обосновано анализом деятельности отдела и его потребностями в автоматизации процессов.

Почему выбрано собственное развитие информационной системы, вместо использования существующих систем?

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

Что делает подсистема "Теоретическая часть"?

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

Каково описание деятельности компании?

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

Какова организационная структура компании?

Организационная структура компании включает в себя информацию о ее подразделениях, должностях, иерархии и взаимосвязи между сотрудниками.

Какие функции выполняет отдел информационных технологий?

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