Snaky
06.06.2006, 20:13
DOM = Data Objects Model
Создание ПО для быстрой разработки приложений баз данных
На это меня вдохновило 1С:Предприятие 8, поэтому освновную функциональность я брал оттуда.
DOM - это набор классов которые будут между данными и разработчиком, они будут представлять данные ввиду объектов.
Если говорить на языке 1С, то будут реализованы (пока) Справочники, Документы, Регистры сведений, Регистры накоплений (остатки).
Для тех кто не знает 1С и не только:
Справочники* - таблицы объектов (так и названы ObjectsTable) хранящие в себе объекты (DataObject). В справочниках уже встроенна иерархия, и владение (подчинение другому справочнику). Поля ID, Name, Parent и Owner сразу встроенны.
Документы - таблицы документов. Документы напоминают собой объекты, но они делают "движения" в регистры. Для документы необходмо указать регистры куда он делает движения. Пример документ"ПриемНаРаботу" делает движение в регистр сведений "РаботникиОрганизаций" - создает там запись о том что появился новый сотрудник и заводит данные о нем. Перед "проведением" документ проверяет не был ли этот сотрудник принят до этого. Документ "Увольнение" сами понимаете что делает со всеми соотвествующими проверками. Если сделать так тогда юзерам будет очень легко - они просто создают эти документы и проводят их а документы делают движения.
Регистры сведений - классификаторы. В них надо задать ключевые поля (обычно это объекты). Регистры хранят данные которые "лежат на пересечении нескольких объектов". Регистр бывают переодическими, т.е. автоматически добавляется еще одно ключевое поле "Период". Как правило, данные которые изменяются со временем хранят в регистрах. Например регистр сведений РаботникиОрганизаций - периодической и ключевые поля у него Организация и ФизЛицо. ФизЛицо - это справочник ФизическиеЛица (просто человек). Таким образом этот регистр хранит в себе данные о человеке в конкретной организации. Т.к. он периодической можно просмотреть то что было и то что есть сейчас. "Движения" это новые строки которые добавляются документом в регистр. Регистры бывают независимыми и подчиненными регистраторам. Если независимый, то строки можно заводить вручную а если подчиненные то данные могут вносить только документы и добавляется колонка Recorder (регистратор). Если регистр периодческий то у него есть методы ПолучитьПоследнее и ПолучитьПервое с указанием даты.
Регистры накоплений - частный случай региста сведений. Он всегда периодческий. Он в себе хранит специальные колонки "ресурсы" и специальную колонку ВидДвижения которая может принимать значений Расход или Приход (просто булево). У регистров накоплений есть метод Остаток, который складывает (или отнимает, в зависимости от вида движения) ресурсы и возвращает результат. Пример:
Есть регистр накоплений ТоварыНаСкладах (измерения Склад и Товар, ресурс Количество) хранящий в себе строки:
ВидДвижения
Период
Склад
Товар
Количество
+
02.03.2006
Склад1
Бутылка колы
5
-
03.03.2006
Склад1
Бутылка колы
3
в результате остаток по этим ключевым полям будет возвращать 2.
Во всех этих структурах данных колонки могут принимать значения разных типов в том числе типы объектов и документов.
Это было что-то вроде краткого курса в 1С:Предприятие 8. Такая структура очень ускоряет разработку. Уж поверьте.
Вообще в 1С сделано гораздо больше но сделав хотя бы эти 4 пункта будет уже большим и полезным делом.
То что я тут написал - какой-то очень поверхностный овервью 1С, а не проекта. Это я понимаю. Но не все работали с 1С и должны понимать структуры которые там являются стандартными.
To be continued.
Создание ПО для быстрой разработки приложений баз данных
На это меня вдохновило 1С:Предприятие 8, поэтому освновную функциональность я брал оттуда.
DOM - это набор классов которые будут между данными и разработчиком, они будут представлять данные ввиду объектов.
Если говорить на языке 1С, то будут реализованы (пока) Справочники, Документы, Регистры сведений, Регистры накоплений (остатки).
Для тех кто не знает 1С и не только:
Справочники* - таблицы объектов (так и названы ObjectsTable) хранящие в себе объекты (DataObject). В справочниках уже встроенна иерархия, и владение (подчинение другому справочнику). Поля ID, Name, Parent и Owner сразу встроенны.
Документы - таблицы документов. Документы напоминают собой объекты, но они делают "движения" в регистры. Для документы необходмо указать регистры куда он делает движения. Пример документ"ПриемНаРаботу" делает движение в регистр сведений "РаботникиОрганизаций" - создает там запись о том что появился новый сотрудник и заводит данные о нем. Перед "проведением" документ проверяет не был ли этот сотрудник принят до этого. Документ "Увольнение" сами понимаете что делает со всеми соотвествующими проверками. Если сделать так тогда юзерам будет очень легко - они просто создают эти документы и проводят их а документы делают движения.
Регистры сведений - классификаторы. В них надо задать ключевые поля (обычно это объекты). Регистры хранят данные которые "лежат на пересечении нескольких объектов". Регистр бывают переодическими, т.е. автоматически добавляется еще одно ключевое поле "Период". Как правило, данные которые изменяются со временем хранят в регистрах. Например регистр сведений РаботникиОрганизаций - периодической и ключевые поля у него Организация и ФизЛицо. ФизЛицо - это справочник ФизическиеЛица (просто человек). Таким образом этот регистр хранит в себе данные о человеке в конкретной организации. Т.к. он периодической можно просмотреть то что было и то что есть сейчас. "Движения" это новые строки которые добавляются документом в регистр. Регистры бывают независимыми и подчиненными регистраторам. Если независимый, то строки можно заводить вручную а если подчиненные то данные могут вносить только документы и добавляется колонка Recorder (регистратор). Если регистр периодческий то у него есть методы ПолучитьПоследнее и ПолучитьПервое с указанием даты.
Регистры накоплений - частный случай региста сведений. Он всегда периодческий. Он в себе хранит специальные колонки "ресурсы" и специальную колонку ВидДвижения которая может принимать значений Расход или Приход (просто булево). У регистров накоплений есть метод Остаток, который складывает (или отнимает, в зависимости от вида движения) ресурсы и возвращает результат. Пример:
Есть регистр накоплений ТоварыНаСкладах (измерения Склад и Товар, ресурс Количество) хранящий в себе строки:
ВидДвижения
Период
Склад
Товар
Количество
+
02.03.2006
Склад1
Бутылка колы
5
-
03.03.2006
Склад1
Бутылка колы
3
в результате остаток по этим ключевым полям будет возвращать 2.
Во всех этих структурах данных колонки могут принимать значения разных типов в том числе типы объектов и документов.
Это было что-то вроде краткого курса в 1С:Предприятие 8. Такая структура очень ускоряет разработку. Уж поверьте.
Вообще в 1С сделано гораздо больше но сделав хотя бы эти 4 пункта будет уже большим и полезным делом.
То что я тут написал - какой-то очень поверхностный овервью 1С, а не проекта. Это я понимаю. Но не все работали с 1С и должны понимать структуры которые там являются стандартными.
To be continued.