https://drive.google.com/file/d/1nl9rehmJg29OInnPaL5fpPXJ6cRNRNdL
Master_Service_1C — учебная конфигурация на платформе «1С:Предприятие 8.3» для учёта заявок сервисного центра, материалов и выполненных работ.
Проект разработан в рамках обучения и демонстрирует работу с объектами метаданных, проведением документов, регистрами, запросами, управляемыми формами и Системой компоновки данных (СКД).
Конфигурация включает справочники, документы, регистры накопления и периодический регистр сведений.
erDiagram
Справочник_Клиенты ||--o{ Документ_ЗаявкаКлиента : "создаёт"
Справочник_Сотрудники ||--o{ Документ_ВыполнениеРабот : "исполняет"
Справочник_Поставщики ||--o{ Документ_ПоступлениеМатериалов : "поставляет"
Справочник_Склады ||--o{ Документ_ПоступлениеМатериалов : "приходует на"
Справочник_Склады ||--o{ Документ_ВыполнениеРабот : "списывает с"
Справочник_Номенклатура ||--o{ Документ_ПоступлениеМатериалов : "содержит"
Справочник_Номенклатура ||--o{ Документ_ВыполнениеРабот : "содержит"
Документ_ЗаявкаКлиента ||--o{ Документ_ВыполнениеРабот : "основание"
Документ_ЗаявкаКлиента ||--o{ Документ_ЗакрытиеЗаявки : "основание"
Документ_ЗаявкаКлиента ||--o{ РегистрСведений_СостоянияЗаявок : "статусы"
Документ_ПоступлениеМатериалов ||--o{ РегистрНакопления_ОстаткиМатериалов : "приход"
Документ_ВыполнениеРабот ||--o{ РегистрНакопления_ОстаткиМатериалов : "расход"
Документ_ВыполнениеРабот ||--o{ РегистрНакопления_ВыполненныеРаботы : "обороты"
| Объект | Назначение |
|---|---|
Клиенты |
Заказчики работ |
Сотрудники |
Исполнители работ |
Поставщики |
Поставщики материалов |
Склады |
Места хранения материалов |
Номенклатура |
Товары и услуги, используемые в работах |
| Документ | Назначение |
|---|---|
ЗаявкаКлиента |
Регистрация обращения клиента и исходных данных по заявке |
ПоступлениеМатериалов |
Приход материалов на склад |
ВыполнениеРабот |
Списание материалов и регистрация выполненных работ |
ЗакрытиеЗаявки |
Закрытие заявки после регистрации выполненных работ |
| Регистр | Вид | Назначение |
|---|---|---|
ОстаткиМатериалов |
Регистр накопления, остатки | Учёт количества материалов по складам и номенклатуре |
ВыполненныеРаботы |
Регистр накопления, обороты | Учёт работ, исполнителей, клиентов, номенклатуры и суммы |
СостоянияЗаявок |
Периодический регистр сведений | Хранение истории статусов заявки |
| Роль | Назначение |
|---|---|
Администратор |
Полный доступ ко всем объектам конфигурации |
Менеджер |
Доступ к оперативной работе с документами, справочниками и отчётами |
- При проведении нового заказа клиента (документ
ЗаявкаКлиента) он получает статус «Новая» (сохраняется в регистре сведенийСостоянияЗаявок). - Материалы приходуются документом
ПоступлениеМатериалов. - Далее посредством механизма «Создать на основании» менеджер создаёт документ
ВыполнениеРабот. При его проведении в документе он получает статус «Выполнена»:- товары списываются с выбранного склада;
- в регистр
ВыполненныеРаботызаписываются количество и сумма по строкам документа; - в регистр сведений записывается статус «Выполнена».
- На основании заявки создаётся
ЗакрытиеЗаявки. Перед записью проверяется наличие проведённого документа выполнения работ; при проведении заявке присваивается статус «Закрыта». Можно закрыть данным способом заявку со статусом «Отменена», выбрав соответствующее положение поля на форме.
При оперативном проведении документа ВыполнениеРабот формируются расходные движения по регистру накопления ОстаткиМатериалов. Затем выполняется запрос к виртуальной таблице Остатки() по выбранному складу.
Если после проведения обнаружен отрицательный остаток, проведение отменяется, а пользователю выводится сообщение с наименованием товара и величиной дефицита.
Актуальный статус заявки проверяется перед проведением с помощью запроса к реквизитам документа ЗаявкаКлиента (или через срез последних регистра сведений СостоянияЗаявок).
- Для заявок в статусах «Закрыта», «Выполнена» и «Отменена» строго запрещено повторное перепроведение документа заявки.
- Заблокировано создание документа
ВыполнениеРаботна основании заказа, если статус заказа отличается от «Новая». - Заблокировано создание документа
ЗакрытиеЗаявкина основании заказа, если заявка-основание уже закрыта или отменена.
В форме документа ВыполнениеРабот реализованы:
- получение розничной цены номенклатуры при выборе строки;
- пересчёт суммы строк табличной части на клиенте;
- разделение интерфейса по подсистемам: закупки, оказание услуг, склад и отчётность.
В конфигурации реализованы четыре отчёта:
- Остатки материалов — текущие остатки номенклатуры по складам;
- Выручка и заказы — данные о выполненных работах и суммах;
- Заявки по статусам — распределение заявок по актуальным статусам;
- Статистика продаж — динамика продаж по дням и номенклатуре.
Заявки по статусам![]() |
Остатки материалов![]() |
Вы можете ознакомиться с демонстрацией работы конфигурации и разбором бизнес-логики в видеопрезентации:
👉 Смотреть видеопрезентацию на Google Диске
Рабочее место: заявка![]() |
Журнал выполнения работ![]() |
Печатная форма![]() |
Справочник номенклатуры![]() |
||
Catalogs/ Справочники и их формы
Documents/ Документы, формы и модули объектов
AccumulationRegisters/ Регистры накопления
InformationRegisters/ Регистр сведений статусов заявок
Reports/ Отчёты и схемы компоновки данных
Subsystems/ Подсистемы конфигурации
Img/ Скриншоты интерфейса и отчётов
Configuration.xml Описание конфигурации для загрузки из файлов
DemoBase.dt Демонстрационная информационная база
Конфигурация выгружена в XML-файлы из Конфигуратора и размещена в Git.
-
Клонируйте репозиторий:
git clone https://github.com/TheYxel/Master_Service_1C.git
-
Создайте пустую информационную базу в Конфигураторе «1С:Предприятие 8.3».
-
Выберите Конфигурация → Загрузить конфигурацию из файлов.
-
Укажите корневую папку репозитория, содержащую
Configuration.xml. -
Выполните Конфигурация → Обновить конфигурацию базы данных (
F7). -
Запустите базу в режиме «1С:Предприятие» (
F5).
Файл DemoBase.dt содержит демонстрационную информационную базу. Его можно загрузить в новую базу средствами Конфигуратора, чтобы посмотреть интерфейс и демонстрационные данные.
- Создать склад и номенклатуру типа «Товар».
- Оформить и провести
ПоступлениеМатериаловс положительным количеством. - Создать и провести
ЗаявкаКлиента. - На основании заявки создать и провести
ВыполнениеРаботс количеством, не превышающим остаток. - Проверить движения документа и отчёт «Остатки материалов».
- Повторить проведение с количеством больше доступного остатка: проведение должно быть отменено с сообщением о дефиците.
- Создать на основании заявки
ЗакрытиеЗаявки: без проведённого документа выполнения работ запись должна быть запрещена.
- Добавлены роли и права доступа: созданы базовые профили
АдминистраториМенеджердля разграничения прав пользователей. - Улучшена безопасность проведения (
ВыполнениеРабот): внедрены явные управляемые блокировки (БлокировкаДанных) для защиты от конкурентного списания материалов (гонки транзакций / Race Condition). - Оптимизирован код проведения документов: устранены потенциальные ошибки выполнения при получении статусов заявок через запросы вместо небезопасных срезов.
- Обновлены интерфейсы и формы: добавлены дополнительные колонки и связи в формы списков документов и справочников.
Проект не является готовым промышленным решением. В текущей версии не реализованы:
- интеграции с внешними системами;
- автоматизированные тесты.
Дмитрий Непомнящих — начинающий 1С-разработчик.
- 📱 Telegram: @N_Dmitry_1C
- 📧 E-mail: n.dmitry-1cdev@mail.ru
Проект создан для развития практических навыков разработки на платформе «1С:Предприятие 8.3».





