CASE: what are custom objects?

If you start with STL, the chance is you’ll want to create your own objects in a template. As we’ve seen before, you already can use objects created by Silverfin:

  • objects of the drop Company (see a list here )
  • objects of the drop Period (see a list here )

But how to create new ones in Silverfin, if above isn’t enough?
For instance: I want to input a field (object) where the name of a person needs to be filled in? Or a text box where I’ll put some extra info regarding a result I’m displaying? Those are objects that are not pre-defined by Silverfin (like the above), but are created by a template :

Custom objects

If you’ll want to create custom objects, you’ll have to keep in mind it consists of at least 3 parts:

  1. custom
  2. the_namespace
  3. the_key

It looks like this:

custom.the_namespace.the_key

Or, as we like to remember it in a more easy way:

custom.some.thing with always at least those 3 parts. You cannot store data if it doesn’t have the_namespace and the_key.

Examples could be:

custom.tax_letter.consclusion
custom.taxes.payment_date
custom.closure.decision

You can even expand on this. Ever wondered why some input-fields (which are the objects we are talking about) always show the same, while others always depend on the working period you are in?
That’s because those are objects that are “attached” to a drop (like company, period, account, … see more info here ).
If you don’t really understand what a drop is, think of it like a database in the Silverfin-file (the company you’re in).

The drop will always needs to be put in front of the object, as the first part.

Custom objects attached to company-drop

For instance: if you want to create a custom object that always needs to give the data you’ve put in, no matter in what working period you are in.

That would look like this :

company.custom.tax_letter.name 

Whatever data you’ve put in that object, it will always be the same, independent of the working period. That data is attached to the company-drop, so it’s always the same (unless you change it of course).

Custom objects attached to period-drop

For instance: if you want to give the date of when the VAT-file was filled in, and send to Intervat. That input is something different every period. It should be attached to the period-drop, like this:

period.custom.vat.date

So this is an object, that will shown for each working period a different value.
If I’ll put a date like 15/7/2017 in Q2 2017, that data ( = 15/7/2017 ) will be saved, but only for Q2 2017! If I would look at the same object, but for Q3 2017, it would show me something different.

How to choose?

If you create a custom object, it’s very important to ask yourself what do you want to do with it. Because if it’s attached to a certain drop, it can be used in another template (to shown the same data you’ve put in the original template).
If it’s just a custom, you cannot use it in another template. It just exists in the template where you’ve put data in it.

An overview:

custom.some.thing

→ not attached to a drop, and exists only in the template where you’ll create it (so it can’t be used somewhere else in another template)

period.custom.some.thing

→ attached to a period (drop); therefor, it can be used in other templates as well ( so if I created it in template A, I can show the input in template B f.i.)

company.custom.some.thing

→ attached to the company (drop); therefor, it can be used in other templates as well, but it’s not dependent of the period (so it would show always the same input).

In another case, we’ll discuss how to input data in those objects, and how they can be displayed in an export.

1 Like