Showing posts with label Technical. Show all posts
Showing posts with label Technical. Show all posts

Database Diagram


Structural Data controls the design of the grids
Exercise has a row for each month which most other data hangs off
MicroGrid has a row per designed grid
MGCell has a row per cell in a MicroGrid
Scope defines which instantiations of a grid might exist - per year, per currency etc
Deck links MicroGrid and Scope, and sets which grids are instantiated as Boards
DiffScope sets the navigation between Boards of different Scopes
Appearance sets the display format for a cell - with commas, decimal places etc
GridGroupCommand controls the way a set of Boards are grouped for display

Primary Monthly Data covers the values we expect users to change
Datum holds entered values, including a dated history of each
Adjustment holds adjustments, overrides and comments against squares
ExchangeRate holds the exchange rates, and is universal, not per exercise

Secondary Monthly Data covers values which may change should an exercise differ from the previous month
WorkFlow and WorkStep guide the user through the monthly process
SpecialCase and SpecialUsage provide a mechanism for values that affect multiple squares
ExportParameter holds the information for uploading a square's value as a journal into the Accounting System
FetchInstruction has the knowledge of Excel worksheet cells that can be uploaded into Packola

System Data covers standard elements
Operator has a row for each user authorised to access the system
Session has a row for each occasion a user logged on
Preference controls certain system-wide values

Later Additions
COASubset, COACode and COADatum cover the chart of accounts treatment added October 2010

Grids, Boards, Decks, Squares and Cells

Let's be clear about some crucial nomenclature.

A grid is made up of cells. The grid's design specifies the cell types, where precedent cells some from, how data is fetched from external systems and so on.

Each grid then exists for one or many Scopes. That is, it exists separately for e.g. each year of account, or each year and currency. We call the combination of a grid and a scope a deck.

When you come to use the system, you see boards made up of squares. The board will have live data in it, and Packola lets you edit that, move around to related boards and so on.

It's often safe to mix up grids and boards, or cells and squares, but when we wish to be unambiguous we will us this terminology:
Cell B17 on the Bad Debts grid is a scoped cell.
Square B17 on the Bad Debts board for 2007 has a value of 1,234.

Cell Types

Text cells have fixed label text. They're white.
Formula cells calculate values from other squares in this board. They're grey.
Scoped cells have a value entered into them. They're gold until a number is entered when they turn yellow.
Precedent cells have a copy of a number from another board. They're light blue.
Group Precedent cells sum a number across a number of similar boards. They're a slightly darker blue.
Brought Forward cells have an editable number that was brought from a previous exercise, such as the year end position. They're pink.
Underwriting cells have a number read directly from another system. They're a strong blue.
Accounting cells have a number read directly from another system. They're green.
Logic cells switch a behaviour on or off. They're purple.
Squares that are a copy of a Special Case are gold.

Go to Anatomy of a Packola Screen post to see how it looks in practice.