Построение архитектуры приложения

1.

Построение архитектуры
приложения

2.

Построение архитектуры
Справочники
Хочу вести семейный бюджет
Деньги зарабатываются и тратятся.
У каждого члена семьи есть свои
накопления. Иногда даем друзьям
в долг
Архитектор
Документы
Регистры
Отчеты
2

3.

Выбор объектов метаданных
Условно-постоянная информация
• Константы
• Справочники
• Перечисления
• Планы видов характеристик
• Планы счетов
События процессов предметной области
• Документы
• Бизнес процессы
• Задачи
Накопленные сведения и значения
показателей
• Регистры сведений
• Регистры накопления
• Регистры бухгалтерии
Отчеты и работа с данными
• Отчеты
• Обработки
3

4.

Условно-постоянная информация
Информация которая вводится один раз или очень редко, но часто используется
Информация не должна быть привязана ко времени.
Основное предназначение:
Необходимо хранить НСИ или реестры
Отслеживание изменения состояния:
Не требуется
Иерархия, группировка данных:
Требуется иерархия и группировка, возможно между разными сущностями
Ключевые свойства:
Необходимо иметь наименование, код
Хранение значений дополнительных реквизитов сущности:
Необходимо хранить редко изменяемые реквизиты произвольных данных
Нумерация:
Необходимы серии кодов по всем элементам данного типа или в пределах иерархии
4

5.

Условно-постоянная информация
Выбор объекта
• Если требуется хранение плана счетов для организации учета по принципам двойной записи, то используется
специализированный объект метаданных «План счетов»
• Если требуется хранить список характеристик (свойств), причем состав самого списка, тип характеристик, их
состав определяются пользователем, то используется объект метаданных «План видов характеристик»
• Если требуется хранить одиночное значение, которое редактирует пользователь (как правило, это
администратор, выполняющий настройки системы), не требующего ссылок из других данных, то используется
объект метаданных «Константа»
• Если необходимо определить фиксированный список значений не редактируемый пользователем, без какихлибо дополнительных реквизитов, то используется объект метаданных «Перечисление»
• В остальных случаях, как правило, используется объект метаданных «Справочник»
5

6.

Условно-постоянная информация
Константы. Критерии выбора
Если требуется хранить одиночное значение, которое редактирует пользователь (как правило, это администратор,
выполняющий настройки системы), не требующего ссылок из других данных, то используется объект метаданных
«Константа»
Основное предназначение:
Необходимо хранение одиночных значений,
предопределенных данных
Добавление и редактирование пользователем:
Требуется только изменение значения
Иерархия, группировка данных:
Не требуется
Хранение значений дополнительных реквизитов
сущности:
Не требуется
Хранение списков значений дополнительных
реквизитов:
Не требуется
Возможность ввода на основании других объектов:
Не требуется
Нумерация:
Не требуется
6

7.

Условно-постоянная информация
Перечисление. Критерии выбора
Если необходимо определить фиксированный список значений не редактируемый пользователем, без каких-либо
дополнительных реквизитов, то используется объект метаданных «Перечисление»
Основное предназначение:
Необходимо хранение списка неизменных
представлений без дополнительных их атрибутов
Добавление и редактирование пользователем:
Не требуется
Иерархия, группировка данных:
Не требуется
Хранение значений дополнительных реквизитов
сущности:
Не требуется
Хранение списков значений дополнительных
реквизитов:
Не требуется
Возможность ввода на основании других объектов:
Не требуется
Нумерация:
Не требуется
7

8.

Условно-постоянная информация
План видов характеристик. Критерии выбора
Если требуется хранить список характеристик (свойств), причем состав самого списка, тип характеристик, их состав
определяются пользователем, то используется объект метаданных «План видов характеристик»
Основное предназначение:
Необходимо хранение списка сущностей и значений
характеристик экземпляров сущности
Добавление и редактирование пользователем:
Требуется добавление, удаление и изменение
элементов, редактирование состава и значений
характеристик сущности
Иерархия, группировка данных:
Требуется в пределах одной сущности
Хранение значений дополнительных реквизитов
сущности:
Необходимо хранить произвольные данные для
атрибутов сущности
Хранение списков значений дополнительных
реквизитов:
Требуется хранение списков наборов значений
реквизитов для сущности
Возможность ввода на основании других объектов:
Необходим ввод новых элементов с использованием
информации других объектов
Нумерация:
Необходимы серии кодов по всем элементам одного
типа или в пределах группировки
8

9.

Условно-постоянная информация
Справочник. Критерии выбора
Основное предназначение:
Требуется хранение списка объектов и значений их
атрибутов
Добавление и редактирование пользователем:
Требуется добавление, удаление, изменение
элементов
Иерархия, группировка данных:
Требуется в пределах одной сущности или между
разными сущностями
Хранение значений дополнительных реквизитов
сущности:
Необходимо хранить произвольные данные для
атрибутов сущности
Хранение списков значений дополнительных
реквизитов:
Требуется хранение списков наборов значений
реквизитов для сущности
Возможность ввода на основании других объектов:
Необходим ввод новых элементов с использованием
информации других объектов
Нумерация:
Необходимы серии кодов по всем элементам одного
типа или в пределах группировки или подчинения
9

10.

События процессов
Необходимость регистрировать события, требующие документально подтверждения с отслеживанием
последовательности событий на временной оси
Основное предназначение:
Необходимо регистрировать события процессов, обеспечивать документальное подтверждение
сведениям
Отслеживание изменения состояния:
Требуется регистрация документа к учету, отмена регистрации учета документа, учет запусков или
окончаний процесса, изменения состояния задач, формирование движений
Иерархия, группировка данных:
Не требуется
Ключевые свойства:
Необходимо учитывать дату события, его номер
Хранение значений дополнительных реквизитов сущности:
Необходимо хранить ссылки на другие объекты и значения параметров, характеризующие событие
Нумерация:
Необходимы серии номеров по всем элементам данного типа или в пределах периода по дате, сквозная
нумерация объектов разных типов
10

11.

События процессов
Задача. Критерии выбора
Основное предназначение:
Необходимо вести учет одиночных событий, адресованных некоторым
исполнителям
Вложенность:
Не требуется
Объединение в журналы:
Не требуется
Состояние объекта:
Требуются состояния «новый», «выполнено»
Нумерация:
Необходимы серии номеров по всем задачам данного вида или в пределах
периода по дате
11

12.

События процессов
Бизнес-процесс. Критерии выбора
Основное предназначение:
Необходимо вести учет последовательности событий, адресованных некоторым
исполнителям
Вложенность:
Требуется учет процессов, вложенных в другие процессы (иерархия задач)
Объединение в журналы:
Не требуется
Состояние объекта:
Требуются состояния «новый», «в работе», «завершен»
Нумерация:
Необходимы серии номеров по всем процессам данного вида или в пределах
периода по дате, нумерация событий внутри процесса
12

13.

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

14.

Накопленные сведения
Основное предназначение:
Необходимо хранить данные, которые характеризуют процессы и текущее состояние прикладной области
Отслеживание изменения состояния:
Не требуется
Иерархия, группировка данных:
Не требуется
Ключевые свойства:
Не требуется
Хранение значений дополнительных реквизитов сущности:
Необходимо хранить только значения реквизитов для других объектов базы
Нумерация:
Не требуется
14

15.

Накопленные сведения
Регистр накоплений. Критерии выбора
Основное предназначение:
Требуется хранение изменений данных - прихода и расхода значений
показателей
Получение данных:
Требуется получение остатков, оборотов данных
Подтверждение
происхождения данных:
Требуется обязательная связь с регистрирующим документом
15

16.

Накопленные сведения
Регистр сведений. Критерии выбора
Основное предназначение:
Требуется хранение информации в виде наборов записей, регистрация
некоторых сведений, значений
Получение данных:
Необходимо получение среза информации на момент времени или текущего
значения показателей
Подтверждение
происхождения данных:
Связь не обязательна
16

17.

Задом наперед
Определите цели приложения
Понимание для чего нужно приложение
Определите набор отчетов для визуализации цели
Набор отчетов или документов которые должны появится в итоге
Определите источники данных для отчетов
Какие данные и где должны появится(регистры, документы)
Определите генераторы данных для источников данных
Какие документы и справочники обеспечат результат
Определите набор сущностей для генерации данных
О чем будут генерироваться данные
17

18.

Определите цели приложения
Понимание для чего нужно приложение
Хочу знать сколько
денег я трачу
Хочу видеть каким количеством
денег располагает моя семья
Хочу контролировать
Долги
18

19.

Определите набор отчетов для визуализации цели
Набор отчетов или документов которые должны появится в итоге
Хочу знать сколько
денег я трачу
Отчет о тратах
Хочу видеть каким количеством
денег располагает моя семья
Хочу контролировать
Долги
Отчет о остатках ДС
Отчет о долгах
19

20.

Определите источники данных для отчетов
Какие данные и где должны появится(регистры, документы)
Хочу знать сколько
денег я трачу
Хочу видеть каким количеством
денег располагает моя семья
Хочу контролировать
Долги
Отчет о тратах
Отчет о остатках ДС
Отчет о долгах
Оборотный регистр
накопления
Расходы
Остаточный регистр
накопления
Остатки на счетах
Остаточный регистр
накопления
Долги
20

21.

Определите генераторы данных для источников данных
Какие документы и справочники обеспечат результат
Хочу знать сколько
денег я трачу
Хочу видеть каким количеством
денег располагает моя семья
Хочу контролировать
Долги
Отчет о тратах
Отчет о остатках ДС
Отчет о долгах
Оборотный регистр
накопления
Расходы
Остаточный регистр
накопления
Остатки на счетах
Остаточный регистр
накопления
Долги
Документ
Расход денег
Документ
Приход денег
Документ
Выдача долга
Документ
Возврат долга
21

22.

Определите набор сущностей для генерации данных
О чем будут генерироваться данные
Хочу знать сколько
денег я трачу
Хочу видеть каким количеством
денег располагает моя семья
Хочу контролировать
Долги
Отчет о тратах
Отчет о остатках ДС
Отчет о долгах
Оборотный регистр
накопления
Расходы
Остаточный регистр
накопления
Остатки на счетах
Остаточный регистр
накопления
Долги
Документ
Приход денег
Документ
Расход денег
Статьи расхода
Счета
Члены семьи
Документ
Выдача долга
Документ
Возврат долга
Контрагенты
22

23.

Создаем объекты конфигурации для
предложенных задач
23

24.

Гарем. Учет затрат на наложниц
СБОРНИК ЗАДАЧ ПО РАЗРАБОТКЕ на платформе 1С:Предприятие (1С:Enterprise) Автор: Павел Чистов
ВАС ПРИГЛАСИЛ в гости арабский шейх и просит автоматизировать учетные функции в его гареме.
В качестве основной задачи шейх просит помочь ему проанализировать расходы на содержание гарема
Отчет может формироваться за любой период времени, это настраивает пользователь.
Затраты ежедневно вводят в систему евнухи, каждый отвечает только за свои (одну или
несколько) статьи затрат. Следует предусмотреть авторизацию евнухов в системе и избежать
ввода данных по чужим статьям затрат.
Введенные ранее данные должны быть защищены от изменений. Исправить вчерашний отчет
может только шейх.
24

25.

Гарем. Учет затрат на наложниц
СБОРНИК ЗАДАЧ ПО РАЗРАБОТКЕ на платформе 1С:Предприятие (1С:Enterprise) Автор: Павел Чистов
В качестве основной задачи шейх просит помочь ему
составить график дежурств евнухов.
Евнухи служат в различных помещениях и выполняют
определенную работу.
К примеру, "Работа на кухне", "Охрана сада", "Уборка
опочивальни", "Дежурство
в комнате шейха" и прочее.
График составляется в начале месяца на весь месяц.
Важно учесть, что один и тот же евнух не может выполнять
две работы одновременно.
Но одновременно два евнуха могут выполнять одну
работу, например, Охрана парка.
25

26.

Автоматизация расчетов в столовой
СБОРНИК ЗАДАЧ ПО РАЗРАБОТКЕ на платформе 1С:Предприятие (1С:Enterprise) Автор: Павел Чистов
В СТУДЕНЧЕСКОЙ столовой за питание приходится платить. Всем студентам в начале месяца начисляется на
специальный счет определенная сумма на питание:
– Отличникам – 5 000;
– Хорошистам – 3 000;
– Всем остальным – 1 000.
Эта сумма, на которую студент может поесть в столовой. Но, естественно, он может брать еды больше, но только за
свой счет.
Важно отметить, что субсидируемая сумма засчитывается только во время большой перемены, с 12:00 до 13:00. Во
все остальное время студенты питаются за свой счет.
В момент продажи питания кассир вводит документ, в котором указывает, кто и на какую сумму купил еды. В том
случае, если на счете студента денег достаточно, то он в кассу ничего не платит. Если сумма частично покрывает
заказ, то оплачивается разница. Если субсидированная сумма полностью была израсходована ранее или время – не
обеденное, то еда оплачивается полностью из кармана студента.
Если субсидированная сумма не была израсходована на конец месяца, она сгорает.
26

27.

Посещение экскурсий
Сборник лабораторных работ для студентов учебных заведений, изучающих программирование в системе 1С:Предприятие 8 (1С:Enterprise 8)
Заказчик просит разработать конфигурацию
для учета посещений клиентами экскурсий.
1. В системе необходимо регистрировать
посещения экскурсий на основании
оформленной брони.
Пользователь системы по телефону с
клиентом оформляет бронь выбранной
экскурсии. Затем при посещении клиент
оплачивает забронированную экскурсию
наличными деньгами или банковской
картой.
2. Нужно построить отчет о доходах с
экскурсий.
27

28.

Запись в лист ожидания на постоянное время
Реальная задача
Небольшой бассейный комплекс ведет запись
клиентов. У комплекса есть общее расписание
индивидуальных и групповых занятий. Некоторые
клиенты хотят ходить в определенное постоянное
время и мы ввели расписание постоянного
времени, которое занимает время.
Постоянное время не резиновое и когда-нибудь
место в расписание всем не хватит. Для этого
необходимо организовать лист ожидания для
постоянного расписания
28
English     Русский Правила