Originally Posted by priblejr
|
Thanks for the reply Rick!
Optimally, I would like to have certain filters in place to organize my information as best as possible and so, if something (such as hours) needs to be changed, that is all I have to do, print it up, and done. Its a bit more work initially, however, it will pay off down the road.
|
Yep, I get that. That's why the design time filters are there.
Originally Posted by priblejr
|
|
These are really the only issues I have, I guess. Obviously you can do a variety of filtering and such, however, rather than have to run a filter EACH time, having a template with these filters in place, labeled, and ready to go, employees who need to point, click, and print a proposal will have it without really having to understand the program. That is my goal.
|
Yeah, selecting filters for each time a report is generated can be a drag. It comes down to a combination of design time filters (information that is always filtered in a certain manner that is project independent) and runtime filters (for instance, location filters are only valid for a specific project) so these need to be managed in a run by run manner. Even in the case of locations, they may change between the execution of reports so the last filters may no longer be valid...
It comes down to the fact that the values of filters are, in many cases, project context specific.
Originally Posted by priblejr
|
|
I am really into the report design center and determining the proper format for creating my own properties, filters, and data files that I can make standard. Unfortunately, as I said before, my programming skills aren't that great, so any assistance, such as what to type in the "datafield:" property box to acheive a certain result would be greatly appreciated.
|
There are a couple of ways to populate the "datafield" property on a reports control.
On the right-hand side of the designer, there are three windows, one is called "Data Explorer". If you want a "Textbox" control bound to a specific datafield, select the field in the data explorer and drag it onto the report designer. A textbox will be created and the datafield property will be preset.
The datafield property is set to a relative path in the xml based on the "recordset pattern" in the reports data source. The proposals iterate over the //dtr:ProposalItems/dtr:ProposalItem nodes in the XML so when you're working with items, this is the section in the data explorer you need to be looking at.
The other way to do this (may not available until the next SP) will be to right click on the element in the data explorer and click "Copy Datafield", then select the section or control in the report designer, go to the "datafield" property in the "Properties" window and right-click paste. and the datafield will be set.
Originally Posted by priblejr
|
For example, right now, I am trying to use the proposal to not say Quantity "40" units of labor, but rather, something like this:
Qty:
<blank> Programming Labor
40 Hours @ 120.00 $4800.00
<blank> Rough-In Labor
30 Hours @ 120.00 $3600.00
<blank> Install Labor
10 Hours @ 120.00 $1200.00
Unfortunately, this is what I get
Qty:
1 Programming Labor
40 Labor Programming Hours $4800.00
1 Rough-In
30 Labor Rough-In Hours $3600.00
etc.
Basically, to describe what is going on (in case you are like "and?") the quantity shows up as 1 instead of blank (or null). The word "Labor" shows up in the description because it is the Manufacturer I created.
What do you suggest? This is the sort of thing I am trying to figure out with D-Tools. Creating templates, layout, etc. for proposals so they are custom to our company, easy to read, and organized.
I appreciate any help!
Thanks again
Jon Prible
Acoustic Visions
|
This type of thing is going to require a bit of script, no two ways around it.
The first thing to consider is that D-Tools allows for the management of labor in a number of ways. By default is based on the "Install Hours" associated with an item and then calculated based on the phase the item is associated with.
What you're working with are labor items. When you drop one into the project, it's one item so the quantity is 1. This has to do with the fact that there are a number of ways the price of this labor item can be calculated (variable, fixed, variable based on phase, fixed + variable, etc...)
What you would have to do is something like this:
Drop a textbox control onto the grpItemheader section of the report and bind it to the "InstallationHours". Sounds like you've done this.
Flip to the "Script" window.
Select "grpItemHeader" in the "Object" dropdown and "Format" in the event drop down.
You'll see a bit of script that starts like this:
If showLaborItems Then ...
buried in there is a test against the categorytype of the item.
When it is "labor", you need to add this:
ReportUtilities.SetControlVisibility(rpt, "txtQuantity", false)
when it is NOT labor, need to add this:
ReportUtilities.SetControlVisibility(rpt, "txtQuantity", true)
This will show/hide the quantity based on whether the item is a labor item, just like the "price" is being shown and hidden in that same section of script.
As for the actual rate of the labor, this is not pulled into the XML due to the number of ways the price of labor can be calculated. It is also complicated by the types of labor that can be calculated depending on the (fixed, variable, variable based on phase, etc) setting.
If you are simply doing "variable" labor, then you can do the math on this as it is the installation price of the item divided by the installation hours of the item.
Set that value to a textbox. This may be something that you would want to add a calculated field to the report for. The proposal has one already so you can probably use that as a template for how to do it.
Much information on the general behavior of the report engine we use (Active Reports) can be found here:
http://www.datadynamics.com.
Hopefully this sets you on the right track.
-R