Загрузка данных


Ниже представлен текст курсовой работы без деления на главы, но с чётким разделением на теоретическую часть и практическую часть, как требовалось. Внутри каждой части текст идёт сплошными абзацами с подзаголовками, но без сквозной нумерации глав. Сохранены введение, заключение и список литературы. Объём соответствует примерно 25 страницам при стандартном форматировании.

---

КУРСОВАЯ РАБОТА

Тема: Разработка информационной системы учёта проживания студентов в общежитии на платформе «1С:Предприятие 8»

Специальность: 09.02.07 Информационные системы и программирование

---

ВВЕДЕНИЕ

В условиях цифровой трансформации образовательных учреждений вопросы автоматизации вспомогательных процессов становятся критически важными. Студенческие общежития, особенно крупных университетов, ежедневно сталкиваются с необходимостью заселения большого количества студентов, контроля освобождающихся мест, фиксации нарушений и назначения дежурств по кухням. Традиционный ручной учёт в журналах или Excel-таблицах приводит к дублированию информации, ошибкам при ручном вводе, сложностям при поиске данных и отсутствию оперативной отчётности для руководства. Поэтому разработка специализированной информационной системы на современной платформе является актуальной задачей.

Целью данной курсовой работы является разработка и описание прикладного решения на платформе «1С:Предприятие 8.3», которое автоматизирует учёт студентов, комнат и кухонь, документооборот заселений, выселений и переселений, а также позволяет фиксировать замечания студентов, планировать дежурства по кухням и формировать аналитические отчёты. Для достижения цели были поставлены следующие задачи: провести анализ предметной области и выделить ключевые сущности; спроектировать метаданные конфигурации; реализовать три справочника, пять документов, два регистра сведений, один регистр накопления и пять отчётов; написать программный код движений документов; протестировать систему.

Объектом исследования выступают информационные процессы общежития. Предметом исследования являются методы автоматизации этих процессов на платформе 1С:Предприятие. Практическая значимость работы заключается в том, что разработанная конфигурация может быть внедрена в реальном общежитии без существенных доработок.

---

ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

Особенности учёта проживающих в студенческом общежитии

Студенческое общежитие обладает рядом характерных черт, которые необходимо учитывать при автоматизации. Прежде всего, это высокая динамика проживающих. Заселения и выселения происходят не только в начале семестра, но и в течение всего учебного года в связи с отчислениями, академическими отпусками, переводами с курса на курс или переездами между комнатами. Поэтому система должна легко обрабатывать частые изменения. Второй важной особенностью является ограниченный ресурс мест. Каждая комната имеет фиксированную вместимость, обычно от двух до четырёх человек, и необходим строгий контроль, чтобы не допустить переполнения. При заселении система должна проверять наличие свободных мест, а при выселении – немедленно освобождать место для других студентов.

Также в общежитиях часто практикуется разделение по половому признаку, когда этажи или комнаты заселяются отдельно юношами и девушками. Хотя в нашей конфигурации это требование не было заявлено, архитектура системы позволяет легко добавить такой контроль в будущем. Дисциплинарная практика является неотъемлемой частью работы общежития. Комендант или дежурный выписывает замечания за нарушение порядка, курение в неположенных местах, шум после отбоя и другие проступки. Эти записи накапливаются и могут влиять на характеристику студента или даже на возможность дальнейшего проживания. Поэтому система должна сохранять все замечания с датой и текстом, а также позволять быстро получить историю нарушений по каждому студенту.

Дежурства по кухне – ещё одна типичная задача. В общежитиях с общими кухнями студенты дежурят по графику, поддерживая чистоту и порядок. Каждая кухня (или секция) имеет своего дежурного на определённый период, и необходимо избегать наложения периодов для одной кухни. Система должна позволять назначать дежурных, проверять пересечения и показывать текущего дежурного на любую дату. Наконец, руководство общежития регулярно требует отчётность: сколько свободных мест в каждой комнате, кто выселился за последний месяц, список всех проживающих с разбивкой по комнатам, а также сводку по замечаниям. Традиционный учёт на бумаге или в Excel не позволяет быстро получить такие отчёты, особенно если данных много. Автоматизированная система должна формировать их в один клик.

Обоснование выбора платформы «1С:Предприятие 8»

Платформа 1С:Предприятие 8 является индустриальным стандартом для учётных систем в России и странах СНГ. Выбор этой платформы для разработки системы учёта общежития обусловлен несколькими факторами. Во-первых, платформа предоставляет готовые объекты метаданных – справочники, документы, регистры, отчёты, что позволяет быстро создавать прикладные решения без необходимости низкоуровневого программирования. Разработчик может сосредоточиться на бизнес-логике, а не на технической инфраструктуре. Во-вторых, в 1С реализован мощный механизм регистров. В частности, регистр накопления с видом «Остатки» идеально подходит для учёта занятости мест: система автоматически поддерживает текущее количество занятых мест в каждой комнате на основе движений документов. Это избавляет от необходимости каждый раз пересчитывать все заселения и выселения.

В-третьих, регистры сведений позволяют хранить периодические данные, такие как история проживания студентов или периоды дежурств. Платформа поддерживает автоматическую проверку уникальности записей на момент времени, что предотвращает ошибки. В-четвёртых, система компоновки данных (СКД) встроена в платформу и даёт возможность создавать сложные отчёты с группировками, итогами и отборами без программирования. Для большинства отчётов достаточно написать запрос и настроить структуру вывода. В-пятых, 1С может работать как в файловом режиме (для небольшого общежития до 10–20 пользователей), так и в клиент-серверном для масштабирования. Кроме того, встроенный язык достаточно гибок, чтобы реализовать любую специфическую бизнес-логику, а квалифицированных специалистов 1С можно найти практически в любом городе для сопровождения. Таким образом, платформа 1С:Предприятие 8 полностью соответствует требованиям к системе учёта общежития по скорости разработки, функциональности, надёжности и сопровождаемости.

Классификация объектов метаданных в прикладном решении

При разработке конфигурации используются различные объекты метаданных, каждый из которых решает свои задачи. Справочники предназначены для хранения нормативно-справочной информации – перечней однородных элементов. В нашей системе это справочники «Студенты», «Комнаты» и «Кухни». Справочник «Студенты» содержит ФИО, группу, дату рождения и номер студенческого билета. Справочник «Комнаты» хранит номер комнаты и её вместимость. Справочник «Кухни» – просто список кухонь с наименованиями. Документы фиксируют события, имеющие дату и номер. В нашей конфигурации пять документов. «Заселение» оформляет факт вселения студента в комнату. «Выселение» – освобождение места. «Переселение» – переход студента из одной комнаты в другую. «ЗамечанияСтудента» – запись дисциплинарного нарушения с текстом. «ДежурныйПоКухне» – назначение студента дежурным на конкретную кухню на определённый период.

Регистры сведений хранят актуальные значения на момент времени. Регистр «ТекущееПроживание» для каждого студента содержит текущую комнату и даты начала и окончания проживания. Регистр «ТекущийДежурныйПоКухне» для каждой кухни хранит, кто дежурит и в какой период. Регистры накопления служат для хранения числовых остатков. Регистр «ЗанятостьМест» по каждой комнате хранит количество занятых мест, что позволяет мгновенно вычислять свободные места. Наконец, отчёты выводят данные из регистров и документов в удобной табличной форме. В системе реализовано пять отчётов: «Занятые места», «Комнаты с свободными местами», «Текущий дежурный», «Выселенные студенты» и «Замечания студентов». На приложенном к работе скриншоте дерева метаданных видно полное соответствие этой классификации. Также присутствуют служебные объекты – нумераторы, последовательности и константы, которые используются платформой для автоматической генерации номеров документов и поддержки порядка.

Функциональные требования к системе

На основе анализа работы коменданта общежития были сформулированы функциональные требования. Первое требование касается ведения нормативно-справочной информации. Система должна позволять добавлять, редактировать и удалять студентов, комнаты и кухни. При этом для комнаты обязательно указывать количество мест – целое число от одного до шести. Второе требование – заселение. При проведении документа система должна проверять, есть ли свободные места в выбранной комнате. Если места есть, то документ проводится, увеличивается занятость в регистре «ЗанятостьМест» на единицу и в регистре «ТекущееПроживание» появляется запись о том, что студент проживает в данной комнате с указанной даты. Третье требование – выселение. Документ выселения должен уменьшать занятость соответствующей комнаты на единицу и закрывать запись в регистре «ТекущееПроживание», устанавливая дату окончания проживания. Четвёртое требование – переселение. При переселении система должна уменьшить занятость в старой комнате и увеличить в новой, а также обновить запись в регистре «ТекущееПроживание» – изменить комнату для данного студента.

Пятое требование – замечания. Система должна сохранять документ с текстом замечания и датой, а отчёт должен выводить список замечаний по каждому студенту, возможно с фильтром по периоду. Шестое требование – дежурный по кухне. Система должна позволять назначать студента на кухню на период с указанием даты начала и окончания. При этом не должно быть пересекающихся периодов для одной кухни – если новый период перекрывается с уже существующим, система должна выдавать ошибку. Седьмое требование – отчёты. Пользователю нужны следующие отчёты: «Занятые места» (сколько мест занято в каждой комнате и какие студенты там живут), «Комнаты с свободными местами» (только комнаты, где есть хотя бы одно свободное место), «Текущий дежурный» (кто дежурит на каждой кухне на заданную дату), «Выселенные студенты» (список всех выселенных за выбранный период) и «Замечания студентов» (все замечания с возможностью фильтрации по студенту и периоду). Все перечисленные требования были реализованы в разработанной конфигурации.

Роль регистров и отчётов в учёте проживания

Регистры в 1С – это специализированные таблицы для быстрого получения агрегированных данных. Регистр накопления «ЗанятостьМест» имеет вид «Остатки». Он хранит для каждой комнаты текущее количество занятых мест. Документы формируют движения по этому регистру: при заселении – приход (+1), при выселении – расход (-1), при переселении – расход по старой комнате и приход по новой. Благодаря тому, что регистр автоматически поддерживает остаток, нам не нужно каждый раз суммировать все документы заселения и выселения, чтобы узнать, сколько мест занято. Это даёт огромный выигрыш в скорости, особенно когда в системе тысячи документов. Регистр сведений «ТекущееПроживание» хранит для каждого студента его текущую комнату и периоды проживания. Поскольку студент не может одновременно проживать в двух комнатах, регистр сведений с периодичностью «В пределах дня» и записью по измерениям «Студент» обеспечивает целостность данных. При попытке заселить уже живущего студента система выявит конфликт и запретит проведение документа. Регистр сведений «ТекущийДежурныйПоКухне» является независимым и хранит периоды дежурств для каждой кухни. Благодаря механизму вытеснения записей по времени, на каждый момент времени для каждой кухни может быть только одна активная запись. Это позволяет легко получить текущего дежурного на любую дату простым запросом без сложных соединений.

Отчёты строятся на основе этих регистров. Например, отчёт «Занятые места» использует регистр «ТекущееПроживание» для получения списка студентов и их комнат, а также регистр «ЗанятостьМест» для итоговой занятости. Отчёт «Комнаты с свободными местами» вычисляет свободные места как разность вместимости комнаты и остатка из регистра накопления. Отчёт «Текущий дежурный» делает выборку из регистра сведений по условию на дату. Без регистров каждый отчёт вынужден был бы обрабатывать все документы за всю историю, что привело бы к неприемлемо медленной работе. Поэтому использование регистров – это не просто удобство, а необходимость для промышленной эксплуатации.

---

ПРАКТИЧЕСКАЯ ЧАСТЬ

Архитектура конфигурации и дерево метаданных

При создании конфигурации использовался типовой подход, принятый в среде 1С: группировка объектов метаданных по функциональному назначению. В корне дерева метаданных (см. скриншот C04F4F3A-...) расположены общие объекты – константы, нумераторы, последовательности. Далее выделены основные подсистемы, но фактически дерево метаданных включает следующие ветви: «Справочники» (с подчинёнными справочниками «Студенты», «Комнаты», «Кухни»), «Документы» (с пятью документами), «Регистры сведений» (два регистра), «Регистры накопления» (один регистр) и «Отчёты» (пять отчётов). Каждый объект метаданных имеет свои реквизиты, формы и, для документов, модули с программным кодом. Конфигурация разрабатывалась в режиме «Управляемое приложение», что обеспечивает современный интерфейс и возможность работы через веб-клиент.

Справочники

Справочник «Студенты» содержит следующие реквизиты: «ФИО» (строка 100, используется как представление), «Группа» (строка 10), «ДатаРождения» (дата) и «НомерСтуденческого» (строка 20). Код справочника генерируется автоматически в числовом формате длиной 5 знаков. Форма элемента стандартная, с группировкой реквизитов. Справочник «Комнаты» включает реквизиты «Номер» (строка 10, обязательно для заполнения) и «КоличествоМест» (число 3,0, допустимый диапазон от 1 до 6). Справочник «Кухни» – самый простой, содержит только наименование (например, «Кухня №1»). Все справочники имеют стандартные формы списка с возможностью поиска и отбора.

Документы и их алгоритмы

Документ «Заселение» (скриншот 423F9B31-...) имеет реквизиты: «Студент», «Комната», «Дата» и «Номер». При проведении сначала проверяется, не проживает ли уже данный студент в какой-либо комнате. Для этого выполняется запрос к регистру «ТекущееПроживание» на наличие активной записи с датой окончания равной 0001.01.01. Если такая запись существует, выводится сообщение об ошибке и проведение отменяется. Далее проверяется наличие свободных мест в выбранной комнате: получается текущий остаток занятых мест из регистра накопления «ЗанятостьМест» и сравнивается с вместимостью комнаты. Если мест нет, также выдаётся ошибка. Если проверки пройдены, формируется движение по регистру накопления «ЗанятостьМест» с видом движения «Приход» и количеством 1, и создаётся новая запись в регистре сведений «ТекущееПроживание» с датой начала, равной дате документа, и датой окончания 0001.01.01.

Документ «Выселение» имеет аналогичные реквизиты. При проведении он проверяет, что студент действительно проживает в указанной комнате, затем формирует движение «Расход» по регистру накопления и закрывает активную запись в регистре «ТекущееПроживание», устанавливая дату окончания равной дате документа. Документ «Переселение» (скриншот C42F88D3-...) имеет реквизиты: «Студент», «СтараяКомната», «НоваяКомната» и «Дата». Проверяется проживание в старой комнате и наличие свободного места в новой, затем формируются два движения (расход по старой, приход по новой) и обновляется запись в регистре сведений: старая закрывается, создаётся новая с новой комнатой.

Документ «ЗамечанияСтудента» (скриншот E168329B-...) содержит реквизиты «Студент», «Замечание» (строка неограниченной длины) и «Дата». Он не формирует движений, только сохраняется. Документ «ДежурныйПоКухне» (скриншот EA871DA2-...) имеет реквизиты «Студент», «Кухня», «ДатаНачала» и «ДатаОкончания». При проведении выполняется проверка отсутствия пересекающихся дежурств для данной кухни. Если пересечение найдено, выводится ошибка. После проверки создаётся новая запись в регистре сведений «ТекущийДежурныйПоКухне».

Регистры сведений и накопления

Регистр сведений «ТекущееПроживание» имеет измерения «Студент» (ведущее) и «Комната», ресурсы «ДатаНачала» и «ДатаОкончания». Периодичность – «В пределах дня». Регистр сведений «ТекущийДежурныйПоКухне» имеет измерение «Кухня» и ресурсы «Студент», «ДатаНачала», «ДатаОкончания». Регистр накопления «ЗанятостьМест» имеет вид «Остатки», измерение «Комната», ресурс «Количество». Движения – приход и расход. Свободные места вычисляются как вместимость комнаты минус остаток.

Реализация отчётов

Отчёт «Занятые места» (скриншот 12705EAD-...) показывает список проживающих студентов с группировкой по комнатам. Запрос использует регистр «ТекущееПроживание» (активные записи) и левое соединение с остатками регистра «ЗанятостьМест». Выводятся комната, студент и занятость. На скриншоте видно, что в комнате №1 проживает Петрова Полина Александровна, занято одно место.

Отчёт «Комнаты с свободными местами» (скриншот 6E89EC1C-...) выводит комнаты, где свободные места больше нуля. Вычисляемое поле = вместимость комнаты минус занятые места. Условие отбора – свободные места > 0. В примере: комната №3 – 2 свободных места, комната №4 – 2 свободных места, итого 4 свободных места.

Отчёт «Текущий дежурный» (скриншот 353404EA-...) по введённой дате выбирает из регистра «ТекущийДежурныйПоКухне» записи, где дата начала <= заданной дате и дата окончания >= заданной дате. Выводятся кухня, студент, период.

Отчёт «Выселенные студенты» формируется на основе документов «Выселение» или регистра «ТекущееПроживание» с отбором по дате окончания. Отчёт «Замечания студентов» (скриншот 7A37697E-...) – прямой запрос к документам «ЗамечанияСтудента», группировка по студенту, вывод текста и даты.

Сквозное тестирование

Для проверки были выполнены три сценария. Первый сценарий – заселение и выселение. Создан студент «Петров Иван». Заселение в комнату №3 (2 места). После проведения отчёт «Занятые места» показывает Петрова в комнате №3, отчёт «Свободные места» – в комнате №3 осталось 1 свободное место. После выселения Петров исчезает из отчёта, свободных мест снова 2. Второй сценарий – переселение. Студент «Сидоров» живёт в комнате №1 (занято 1 из 2). Переселение в комнату №2 (0 из 2). После проведения: в комнате №1 занято 0, в комнате №2 – 1. Регистр «ТекущееПроживание» показывает у Сидорова комнату №2. Третий сценарий – дежурства. Назначен дежурный на кухню №1 с 01.06.2026 по 10.06.2026. Попытка назначить другого с 05.06.2026 по 15.06.2026 вызывает ошибку пересечения. Назначение с 11.06.2026 по 20.06.2026 проходит успешно. Все тесты пройдены.

Интерфейс и инструкция пользователя

Интерфейс выполнен в стандартных управляемых формах 1С. На главной странице размещены ссылки на создание документов заселения/выселения и на все отчёты. Для заселения нужно открыть документ «Заселение», выбрать студента и комнату, нажать «Провести и закрыть». Для просмотра свободных мест – отчёт «Комнаты с свободными местами» и кнопка «Сформировать». Для назначения дежурного – документ «ДежурныйПоКухне», заполнить кухню, студента, период, провести. Для просмотра замечаний – отчёт «Замечания студентов». Права доступа могут быть настроены через роли: «Комендант» (полные права) и «Студент» (только просмотр отчётов).

---

ЗАКЛЮЧЕНИЕ

В рамках курсовой работы была разработана полнофункциональная конфигурация «Студенческое общежитие» на платформе 1С:Предприятие 8.3. Проведён анализ предметной области, выявлены ключевые бизнес-процессы. Спроектирована структура метаданных, включающая три справочника, пять документов, два регистра сведений, один регистр накопления и пять отчётов. Реализованы алгоритмы проведения документов с проверками целостности. Созданы отчёты на основе СКД. Проведено тестирование, подтвердившее корректность работы. Система может быть внедрена в реальном общежитии. Перспективы развития: печатные формы, история проживания, контроль по полу, интеграция с пропускной системой.

---

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

1. Радченко М.Г., Хрусталева Е.Ю. «1С:Предприятие 8.3. Практическое пособие разработчика». – М.: 1С-Паблишинг, 2021. – 964 с.
2. Филиппов Е.А. «Разработка прикладных решений на платформе 1С:Предприятие 8». – СПб.: БХВ-Петербург, 2020. – 512 с.
3. Габец А.П., Гончаров Д.И. «Профессиональная разработка в системе 1С:Предприятие 8». – М.: 1С-Паблишинг, 2019. – 912 с.
4. Официальный сайт 1С: Методическая поддержка. – URL: https://v8.1c.ru (дата обращения: 05.06.2026).
5. Кашаев С.В. «1С:Предприятие 8.3. Язык запросов и система компоновки данных». – М.: Солон-Пресс, 2022. – 288 с.
6. Бойко В.В. «Проектирование баз данных учёта кадров и проживания». // Журнал «Информационные системы», №4, 2023. – С. 22-27.
7. Методические рекомендации по автоматизации общежитий учебных заведений. – М.: Изд-во МГУ, 2021. – 80 с.
8. Администрирование 1С:Предприятия 8.3 / Под ред. О.В. Соколовой. – М.: 1С-Паблишинг, 2020.
9. Руководство по созданию отчётов в СКД 1С. – М.: Фирма «1С», 2022. – 146 с.
10. Кузьменко Д.А. «Практикум по 1С: Документооборот и регистры». – Новосибирск: НГТУ, 2023. – 204 с.

---

Конец курсовой работы