Calculated Fields

by camel

Downloads: 23,637 (9) • Reviews: 4

Version:

1.2.9.4

Updated:

Apr 11, 2011

Calculated Fields plugin: Gathering features requests

Calculated Fields plugin: Gathering features requests

Postby camel » Thu Aug 26, 2010 2:10 am

Hi,
I'm creating new plugin, that will enable to fill values calculated by your formula in custom fields.

At first I'll give you an example what this plugin is supposed to do:
Do you want to see Avg Heart Rate per minute and fill it to your custom field Avg HR/min?
Than just choose that custom field in configuration of plugin and assign this formula: {AvgHR} * {AvgPace}.

Then you will for example select all of your activites and run action for calculate those values. As a result your custom field Avg Heart Rate per minute will be filled on activity.

Main features:
- in settings you will create as many rows for calculated fields you want
- you will first choose custom field to be filled (text or number values, just set it for your custom field as type)
- add a formula or expression, this formula will be used to calculate values to be filled in custom fields
- there are two actions to support this calculating in edit menu of activities (Calculate fields, Clear calculated fields). You can calculate values only for one activity or do mass calculations for selected activities in reports
- main purpose is just to add ability to calculate values for activities that are not supported in sporttracks out of the box. And you must do calculations of those values in excel for now etc.
- you can use conditions to support calculating different values, for example if activity category is running, use different calculation etc.
- you take data only from actual activity, and you calculate data for actual activity. Of course you can use standard feature of custom fields to do avg sum etc...
- It's main purpose is to use those calculated values for analyzis in activity reports and activity reports charts.

So some examples:
You want to see Avg HR/min only for active parts of workout? Just change
formula to: {ActiveAvgHR} * {ActiveAvgPace}

Do you want to calculate adjusted distance of GPS tracks and save it for reporting in custom field? Because your GPS is constantly showing shorter distance?

Here is formula: {Distance} * 1.03
If you want you can apply different index for distance based on category or location or name etc. I'll not write formula for this, because it's only for advanced users but this could be done too.

Distance in miles (If you want to have custom field with distance in miles at same page with kilometers): {Distance} / 1609.344

Inverse Avg Pace (this is small hack to see fastest pace on top of chart): -{AvgPace}

Avg Pace normalized by temperature: just create formula for it :)

Your personal performance index: just create formula for it too...

Automatically calculated custom notes fields (just silly example, you can do nearly everything you want):
{Name} + ", " + {Date} + ", " + {Location} + ", " + {Temperature} + ", I have used this equipment: " + {Equipment}

- now these fields are supported in formulas:
//Athlete Fields
ATHLETEBMI
ATHLETEBODYFATPERCENTAGE
ATHLETECALORIES
ATHLETEDATE
ATHLETEDIARY
ATHLETEDIASTOLICBLOODPRESSURE
ATHLETESYSTOLICBLOODPRESSURE
ATHLETEINJURED
ATHLETEINJUREDTEXT
ATHLETEMAXHR
ATHLETEMISSEDWORKOUT
ATHLETEMISSEDWORKOUTTEXT
ATHLETEMOOD
ATHLETERESTHR
ATHLETESICK
ATHLETESICKTEXT
ATHLETESKINFOLD
ATHLETESLEEPHOURS
ATHLETESLEEPQUALITY
ATHLETEWEIGHT

//standard activity fields
EQUIPMENT
CATEGORY
TEMPERATURE
WEATHERNOTES
LOCATION
NAME
DATETIME
DATE
NOTES
INTENSITY
TIME
DISTANCE
AVGPACE
AVGCADENCE
AVGGRADE
AVGHR
AVGPOWER
AVGSPEED
MAXCADENCE
MAXGRADE
MAXHR
MAXPOWER
ASCENDING
DESCENDING

//active fields
ACTIVETIME
ACTIVEDISTANCE
ACTIVEAVGPACE
ACTIVEAVGSPEED
ACTIVEAVGCADENCE
ACTIVEAVGHR
ACTIVEAVGPOWER
ACTIVEMAXCADENCE
ACTIVEMAXHR
ACTIVEMAXPOWER

//rest fields
RESTTIME
RESTDISTANCE
RESTAVGPACE
RESTAVGSPEED
RESTAVGCADENCE
RESTAVGHR
RESTAVGPOWER
RESTMAXCADENCE
RESTMAXHR
RESTMAXPOWER

//splits fields
NOTES
AVGPACE
AVGSPEED
DISTANCE
TIME
AVGCADENCE
AVGHR
AVGPOWER
MAXCADENCE
MAXHR
MAXPOWER

//trails fields
AVGPACE
DISTANCE
TIME
AVGCADENCE
AVGGRADE
AVGHR
AVGPOWER
AVGSPEED
ELEVATIONCHANGE
MAXHR

Considered features:
- automated action when importing activity (DONE)
- out of the box prepared formulas, ready for not advanced users
- adding of fields for splits? (DONE)
- adding of fields for athlete data? (calculating your own index similar to BMI etc.) (DONE)
- exact syntax of formulas could be changed, it's just an example now. Working example but only example ;)

Now why I'm writing this post. I'm developing primary this plugin for me. But if you see some potencial in this plugin to be usable for you.
Just send me a pm or write to forum enhancements that you need.

Are you doing some special calculation in excel for activity? Do you need some other data from activity to do this calculation?

Just ask for that. If it could be added I'll add it. It'll be perfect If you can post just formula what you need. You could write it normally or in formula syntax. Don't hesitate to ask for really hard calculation.

Thanks
Peter
Last edited by camel on Thu Sep 16, 2010 7:05 am, edited 2 times in total.
camel
Donated!
Donated!
 
Posts: 363
Joined: Tue May 18, 2010 7:14 am
Location: Slovakia

Postby texmurphy » Fri Aug 27, 2010 1:42 pm

Enum(List) would be useful where the number of items in the list are returned to a custom field.
Usage example: I lead a ride with 15 riders and I log their names in the Notes section: "Riders=TexM, Camel, Admin, POC, omb, ..."
Enum(Riders) would fill the custom field with "15".
texmurphy
Donated!
Donated!
 
Posts: 2125
Joined: Wed Jul 05, 2006 7:38 pm
Location: Maryland, USA

Postby camel » Fri Aug 27, 2010 2:07 pm

texmurphy wrote:Enum(List) would be useful where the number of items in the list are returned to a custom field.
Usage example: I lead a ride with 15 riders and I log their names in the Notes section: "Riders=TexM, Camel, Admin, POC, omb, ..."
Enum(Riders) would fill the custom field with "15".


Thanks nice idea.

This could be done without enums, but of course it will be slightly cumbersome.

I'll try to add something like nested macros (I'm not sure with exact syntax)

Example:
You will at first create enum (something similar like formula):
{Riders} = "TexM, Camel, Admin, POC, omb"
And then use it in your formula for custom field CustomNotes for example:
"I have ride with those friends: " + {Riders} + "additional text"

To make it more powerful I'll try to implement nested formulas too.

P.S. Just to be sure. I'll not be updating standard Notes field. As far I know it could be done. But this potencially opens danger for users destroying their data. So I want to support only filling of custom fields by calculated values

Nice day
camel
Donated!
Donated!
 
Posts: 363
Joined: Tue May 18, 2010 7:14 am
Location: Slovakia

Postby PissedOffCil » Fri Aug 27, 2010 2:11 pm

texmurphy wrote:Enum(List) would be useful where the number of items in the list are returned to a custom field.
Usage example: I lead a ride with 15 riders and I log their names in the Notes section: "Riders=TexM, Camel, Admin, POC, omb, ..."
Enum(Riders) would fill the custom field with "15".


When is that ride? I never received your invite...

:D
Developer of the Garmin Fitness, Filtered Statistics and Distribution plugins
PissedOffCil
Donated!
Donated!
 
Posts: 1589
Joined: Sat Jul 05, 2008 9:18 pm
Location: Chicoutimi, Qc, Canada

Postby texmurphy » Fri Aug 27, 2010 3:52 pm

PissedOffCil wrote:When is that ride? I never received your invite...
:D

Standing invite whenever you are in Maryland 8)
texmurphy
Donated!
Donated!
 
Posts: 2125
Joined: Wed Jul 05, 2006 7:38 pm
Location: Maryland, USA

Postby texmurphy » Fri Aug 27, 2010 4:00 pm

camel wrote:You will at first create enum (something similar like formula):
{Riders} = "TexM, Camel, Admin, POC, omb"
And then use it in your formula for custom field CustomNotes for example:
"I have ride with those friends: " + {Riders} + "additional text"
To make it more powerful I'll try to implement nested formulas too.

Also might be useful to be able to return elements of a list (car/cdr/...), find string, and other goodies.
Example - I use a colon delimited hierarchy for Location (effectively a list) which often contains city or street names. So I might want Rides with POC including "Quebec"
texmurphy
Donated!
Donated!
 
Posts: 2125
Joined: Wed Jul 05, 2006 7:38 pm
Location: Maryland, USA

Postby camel » Fri Aug 27, 2010 4:23 pm

Also might be useful to be able to return elements of a list (car/cdr/...)

I don't understand what you mean with this.

Example - I use a colon delimited hierarchy for Location (effectively a list) which often contains city or street names. So I might want Rides with POC including "Quebec"

Ok, you want it :) I don't fully understand what you exactly want, but I'll just give you some advanced examples... Perhaps you use some abbreviatons. I'll find out if it will return list of locations if it's a hierarchy.

- You want to fill "Quebec" in notes custom field, only if Location of activity contains word "POC"?
Just write this formula: {Location}.Contains("POC") ? "Quebec" : ""

- Or you want to fill something in custom field only if distance of activity is smaller than 10km and location is "Quebec"
Formula: ({Distance} < 10000 && {Location}.Contains("Quebec")) ? "Test text" : ""

- If you want, you can even use normal regular expressions... With them you can find everything you want, you can replace string etc.

Perhaps it's enough for your imagination.
camel
Donated!
Donated!
 
Posts: 363
Joined: Tue May 18, 2010 7:14 am
Location: Slovakia

Postby hubrat » Sun Aug 29, 2010 3:23 am

Would love to see a vertical ascent speed for hill climbs, both at any point for charting and as an average per lap/split. A common unit is elevation in meters per hour. Let me know if you need a formula but it should be straight forward.
hubrat
 
Posts: 19
Joined: Mon Oct 05, 2009 4:48 am

Postby camel » Sun Aug 29, 2010 9:30 am

hubrat wrote:Would love to see a vertical ascent speed for hill climbs, both at any point for charting and as an average per lap/split. A common unit is elevation in meters per hour. Let me know if you need a formula but it should be straight forward.


I'm developing right now integration with Trails plugin for supporting things like this.

So do you want to have avg pace of your hill climb?
You will just define part that part of activity in Trails plugin. Give that trail name "MyHill1"

And than you will use for example this formula to fill it to custom field MyHill1Lap1 Avg Pace:
{TrailAvgPace(MyHill1, 1)}
This formula will fill into custom field MyHill1Lap1 avg pace of this part of activity. Buy only first lap in this trail. Do you want to chart on another laps of that trail?

You will just create second custom field and second formula:
{TrailAvgPace(MyHill1, 2)
Second parameter is information about which lap will be filled from trail to custom field.

etc.. as many laps you want.

Or do you want fill in notes avg paces of your hill climb for all laps in that training?
Formula:
"First Lap MyHill: " + {TrailAvgPace(MyHill1, 1)} + ", Second Lap MyHill" + {TrailAvgPace(MyHill1, 2)}

Perhaps you have a point. Now it's somewhat difficult to write those formulas for trails for standard user. I'll consider to support simplified user interface specially for trails.

This feature will enable charting of comparable activity parts between all of your activities. This is the ultimate goal of this.

Nice day
Peter
camel
Donated!
Donated!
 
Posts: 363
Joined: Tue May 18, 2010 7:14 am
Location: Slovakia

Postby camel » Mon Aug 30, 2010 2:02 am

Here you have first images of plugin in action for your imagination:

Ok I want to report data of my trail in Pernek location.

1. We will first create Trail in Trails plugin. (Thanks to Gerhard for this)
I give that trail name PernekStart

Image

Hmm, but I want more. I want to know my avg pace and avg heart rate on all Pernek trails... And I like charts...

Ok we will give it try.

2.In Calculated Fields plugin I'll make necessary configuration for my new custom fields with data from this trail.
I want these new fields:
Trail Pernek Distance
Trail Pernek Avg Pace
Trail Pernek Avg HR

Image

3.I have calculated those fields for one activity for example with plugin.
See new filled custom fields in daily activity. (on the right of screenshot)

Image

4.Ok but it's usable without activity reports? Of course that no.
I have created Activity reports with my new fields for Pernek Trail shown. Now I'll calculate my field values for all activities. (it could be automatized on import)

Image

5. And finally my results. This is what I want to have for long time.
As you see I have shown fields Avg Pace and Avg HR in chart grouped by week.
You can group as you want you have all the power of sporttracks reporting, but you now have your new calculated fields ;)

Image

I would like to note, that all of the magic calculations of trails data is made by integration with Gerhard's Trails plugin.
So big thanks to him.
Last edited by camel on Tue Sep 21, 2010 12:57 am, edited 1 time in total.
camel
Donated!
Donated!
 
Posts: 363
Joined: Tue May 18, 2010 7:14 am
Location: Slovakia

Postby hubrat » Mon Aug 30, 2010 6:51 am

I think I get it now. So I can't create a custom field called VAM which is speed * gradient and display a chart of VAM v distance for an individual activity.

Plugin still looks good though. It would be nice to be able to find all the times I've ridden a particular climb and then compare them.
hubrat
 
Posts: 19
Joined: Mon Oct 05, 2009 4:48 am

Postby camel » Mon Aug 30, 2010 2:01 pm

Yes you are correct. this plugin is just about filling of your standard custom fields on activities for now.

It's purpose is to enable some new features for activities wide analysis.

Not about detailed analysis of single activity, there are many other plugins for that.

I just like charting and reporting of my crappy fitness. ;)
camel
Donated!
Donated!
 
Posts: 363
Joined: Tue May 18, 2010 7:14 am
Location: Slovakia

Postby GaryS » Mon Aug 30, 2010 2:22 pm

camel wrote:It's purpose is to enable some new features for activities wide analysis.

Not about detailed analysis of single activity, there are many other plugins for that.


Peter, I think if your purpose is to use Trails to select a segment of a run (bike) workout and compare the statistics for that segment across all other activities where that segment is also included, then you have a winner.

I think that might have been gerhard's plan too, so you might check with him.

Trails has been limited since it can't be used to compare multiple activities; it does a great job however analyzing a segment WITHIN a single activity.

Matrix might have been used, in conjunction with Trails, to compare segments from many activities but it has limitations due to its architecture. Mostly, it can't handle directionality so if your course is out-and-back (A-B-C-B-A), you can't get reliable results if you 'visit' the same point twice.

Trails has directionality and is also user-friendly; points are easy to select and name.

Charting the results by week is also a good idea; even with Matrix now, it is difficult to notice trends over time without either further calculations of the raw data or some kind of visual.
GaryS
Donated!
Donated!
 
Posts: 77
Joined: Thu Jan 21, 2010 6:25 pm

Postby yoeddy0420 » Mon Aug 30, 2010 2:27 pm

here is an example of something that I have been doing an not sure if the plugin would handle this.

So I populate the Weather data with OMB weather plugin. After I Find the Weather my weather field will have the following values in it

64 °F. Wind Speed: 1.8; Precipitation: 0.0mm/h

For whatever reason, I have created two custom fields Average Temp, Avg Wind.

I have basically been going down my list of activities and filling these two fields in manually from the data that is stored in the Weather field. I was wondering if your plugin might be able to parse out the pieces and fill them in automatically.
yoeddy0420
 
Posts: 31
Joined: Tue May 11, 2010 8:49 pm

Postby yoeddy0420 » Mon Aug 30, 2010 2:30 pm

here is an example of something that I have been doing an not sure if the plugin would handle this.

So I populate the Weather data with OMB weather plugin. After I Find the Weather my weather field will have the following values in it

64 °F. Wind Speed: 1.8; Precipitation: 0.0mm/h

For whatever reason, I have created two custom fields Average Temp, Avg Wind.

I have basically been going down my list of activities and filling these two fields in manually from the data that is stored in the Weather field. I was wondering if your plugin might be able to parse out the pieces and fill them in automatically.
yoeddy0420
 
Posts: 31
Joined: Tue May 11, 2010 8:49 pm

Postby camel » Mon Aug 30, 2010 2:58 pm

yoeddy0420 wrote:here is an example of something that I have been doing an not sure if the plugin would handle this.

So I populate the Weather data with OMB weather plugin. After I Find the Weather my weather field will have the following values in it

64 °F. Wind Speed: 1.8; Precipitation: 0.0mm/h

For whatever reason, I have created two custom fields Average Temp, Avg Wind.

I have basically been going down my list of activities and filling these two fields in manually from the data that is stored in the Weather field. I was wondering if your plugin might be able to parse out the pieces and fill them in automatically.


Now weather notes field is not supported, but I'll add it to list.

And yes, this could be easily done with use of regular expressions in formula. Now I don't want to confuse users with more advanced syntax, but yes it could be done. I'll gladly help you with creating this formula when right time comes. Perhaps in few weeks.

I have now support for automatic calculations of fields after import. So after you manualy calculate old values, for new activities it'll be done without your manual effort when importing.
camel
Donated!
Donated!
 
Posts: 363
Joined: Tue May 18, 2010 7:14 am
Location: Slovakia

Postby camel » Mon Aug 30, 2010 3:18 pm

Peter, I think if your purpose is to use Trails to select a segment of a run (bike) workout and compare the statistics for that segment across all other activities where that segment is also included, then you have a winner.

I think that might have been gerhard's plan too, so you might check with him.


I have asked Gerhard about pre-acceptance of course. This feature is made by integration with Trails plugin in fact. (all of the calculations are made in Trails plugin)

As I have talked with Gerhard, Trails is his plugin, he has last word and I want to have explicit acceptance from him after he will see finished plugin.
If he'll doesn't like final result, I will not use it. And I'll be ok with it.
I don't want to break philosophy of existing plugins and I understand that.

Now I'm showing only concept, to get feedback from users. Because now all of the things could be easily changed. After releasing it, I'll need to solve compatibility issues after breaking changes in architecture of plugin.

So I want to do it correct, right on start.
camel
Donated!
Donated!
 
Posts: 363
Joined: Tue May 18, 2010 7:14 am
Location: Slovakia

Postby gerhard » Mon Aug 30, 2010 4:32 pm

GaryS wrote:Peter, I think if your purpose is to use Trails to select a segment of a run (bike) workout and compare the statistics for that segment across all other activities where that segment is also included, then you have a winner.

I think that might have been gerhard's plan too, so you might check with him.

My intention is primarily to use Trails to search for similar activities, then display them.

camel wrote:I have asked Gerhard about pre-acceptance of course. This feature is made by integration with Trails plugin in fact. (all of the calculations are made in Trails plugin)

As I have talked with Gerhard, Trails is his plugin, he has last word and I want to have explicit acceptance from him after he will see finished plugin.
If he'll doesn't like final result, I will not use it. And I'll be ok with it.
I don't want to break philosophy of existing plugins and I understand that.

Now I'm showing only concept, to get feedback from users. Because now all of the things could be easily changed. After releasing it, I'll need to solve compatibility issues after breaking changes in architecture of plugin.

So I want to do it correct, right on start.

Trails was written by "brendan", all credit to him. I got involved primarily to port the plugin to ST3, as he could not continue development. (I have done some dev and fixes since.)
Patches are accepted.

I like to compare activities, there are more than one way. Of course I support this change. (I will maybe have opinions about how it is done).
Trails is open source: It is possible for anyone to contribute or even make a fork of the plugin.
gerhard
Contributor!
Contributor!
 
Posts: 1798
Joined: Mon Nov 27, 2006 7:07 pm
Location: Sweden

Postby camel » Mon Aug 30, 2010 4:58 pm

Trails was written by "brendan", all credit to him. I got involved primarily to port the plugin to ST3, as he could not continue development. (I have done some dev and fixes since.)


Sorry for misunderstanding. But without both of you, that plugins will be not here or dead now, so perhaps I wasn't so away from true.

I like to compare activities, there are more than one way. Of course I support this change. (I will maybe have opinions about how it is done).

That's what I want. I want feedback, That's nice about this community and true power of sporttracks. (and reason why will admin start to drink ;) )

I have taken notes from you and others, and I'm considering them of course. I think that small beta testing with users, will show which notes are relevant.

Thanks
Peter
camel
Donated!
Donated!
 
Posts: 363
Joined: Tue May 18, 2010 7:14 am
Location: Slovakia

Postby yoeddy0420 » Tue Aug 31, 2010 11:02 am

camel wrote
Now weather notes field is not supported, but I'll add it to list.

And yes, this could be easily done with use of regular expressions in formula. Now I don't want to confuse users with more advanced syntax, but yes it could be done. I'll gladly help you with creating this formula when right time comes. Perhaps in few weeks.

I have now support for automatic calculations of fields after import. So after you manualy calculate old values, for new activities it'll be done without your manual effort when importing.


Thanks, let me know if you have any questions or need any help testing any thing.
yoeddy0420
 
Posts: 31
Joined: Tue May 11, 2010 8:49 pm

Athlete, route and equipment custom fields filling

Postby camel » Wed Sep 01, 2010 6:14 am

Now I plan to support only calculations of custom fields values on activities.

Are there some users with need of filling calculated values for Athlete, Route or Equipment custom fields?

Now I don't have interesting example of usage, so for now I don't plan to support it. But if someone have...

Thanks
Peter
camel
Donated!
Donated!
 
Posts: 363
Joined: Tue May 18, 2010 7:14 am
Location: Slovakia

Re: Athlete, route and equipment custom fields filling

Postby Stumpjumper68 » Wed Sep 01, 2010 4:13 pm

camel wrote:Now I plan to support only calculations of custom fields values on activities.

Are there some users with need of filling calculated values for Athlete, Route or Equipment custom fields?

Now I don't have interesting example of usage, so for now I don't plan to support it. But if someone have...

Thanks
Peter


I vote for Athlete fields. Would be very intresting to see a comparison of weight,sleep hours,avg hr and speed on a hill.
Image
Stumpjumper68
Donated!
Donated!
 
Posts: 1076
Joined: Thu Oct 11, 2007 3:39 pm
Location: Bad Vilbel, Germany

Re: Athlete, route and equipment custom fields filling

Postby GaryS » Wed Sep 01, 2010 5:07 pm

camel wrote:
Are there some users with need of filling calculated values for Athlete, Route or Equipment custom fields?

Now I don't have interesting example of usage, so for now I don't plan to support it. But if someone have...


For those of us with several pairs of running shoes, it might be interesting to see where each model is most effective for us (ie on hills, flats, fireroads, technical trails, longer distances, rocks, etc.). Depending on the terrain, surface and elevation of the trail races I run, I'll choose one set of shoes over another on race day. Might be nice to have some training data to help make that decision.
GaryS
Donated!
Donated!
 
Posts: 77
Joined: Thu Jan 21, 2010 6:25 pm

Re: Athlete, route and equipment custom fields filling

Postby camel » Thu Sep 02, 2010 7:00 pm

I vote for Athlete fields. Would be very intresting to see a comparison of weight,sleep hours,avg hr and speed on a hill.


And do you need for this something to be added?

Because you can already show fields from athlete view in report with activity.
And report them. Of course you need calculated trail field, but I see no need for calculated athlete field or some calculation from athlede field.

Perhaps I need exact explanation what you need to calculate and how with athlete fields.

I need to know what you want to calculate, needed fields. And where will be result of calculation saved. On activity custom field, on athlete custom field?

Do you want to have result of calculation from trails to be shown in athlete custom field? etc.

Thanks
Peter[/quote]
camel
Donated!
Donated!
 
Posts: 363
Joined: Tue May 18, 2010 7:14 am
Location: Slovakia

Re: Athlete, route and equipment custom fields filling

Postby camel » Thu Sep 02, 2010 7:05 pm

For those of us with several pairs of running shoes, it might be interesting to see where each model is most effective for us (ie on hills, flats, fireroads, technical trails, longer distances, rocks, etc.). Depending on the terrain, surface and elevation of the trail races I run, I'll choose one set of shoes over another on race day. Might be nice to have some training data to help make that decision.


Here I need detailed explanation too. See previous reply for needed information.

I'll be adding field for Equipment that can be used for calculations. So are you missing something?

Equipment will contain used equipment for actual activity separated by ,.
With some advanced statement you can calculate some values only if equipment contains exact shoes etc.

So do you need filling of custom field in athlete view really?
Perhaps in near time it will be good to publicate beta version of plugin.
We are talking too virtual. So perhaps many thing can be done, but you are misunderstanding real usage of plugin. Who knows :)

It'll be nice to post exact calculations what you need, exact fields needed for that calculations etc.

Thanks
Peter

Thanks
Peter
camel
Donated!
Donated!
 
Posts: 363
Joined: Tue May 18, 2010 7:14 am
Location: Slovakia

Next

Return to Calculated Fields

Who is online

Users browsing this forum: No registered users and 1 guest