I am working on a project with another developer and we're using CR for our reports. He created most of the reports and I've recently begun editing them to make changes but I've run into a strange issue. We have a number of formula fields with code such as this:
If {command.eItemPaymentType} <> 'CUSTOMER' THEN
0
else
IF {command.eReferenceType} = 'SERVICEID' THEN
(VAL({command.dPrice})*VAL({command.dHours}))*VAL({command.dQuantity})
ELSE IF {command.eReferenceType} = 'PARTID' THEN
VAL({command.dPrice})*VAL({command.dQuantity})
ELSE IF {command.eReferenceType} = 'KITID' THEN
VAL({command.dPrice})*VAL({command.dQuantity})
ELSE IF {command.eReferenceType} = 'LABORID' THEN
VAL({command.dPrice})*VAL({command.dHours})
They work just fine on his machine, but when I go in and try to edit them they all break and it tells me "A string is required here" and highlights the command.dPrice on the 5th line. What I have to do to get the report working is go through and remove anyplace he converted the value to a decimal using the "VAL" function. I have to do this in all of the functions on the report in order to get the report to work. Now, the strange part. When he goes in to edit the same report, it then tells him something to the effect (sorry, he's not here right now for me to get the explicit text) of "value must be numeric". In a nutshell, my dev environment pulls the values from the DB as decimals while his is pulling them as strings which he has to convert.
Can anyone tell me how to change this? Ideally I'd like to just change a setting so mine works fine with the 'VAL' function calls in the code so I have less work to do. It's silly for me to change them and then have him be forced to change them all back the next time he works on the project. I am sure there is a setting but I can't find it. Any help would be greatly appreciated.
BTW: ASP.NET with C# codebehind. Both OS are XP. Vis Studio 2005 using Team Server as the source control. The DB we are working with is MySQL v 5.0.22 and we both have MySQL on our dev machines (aka we're not hitting the same DB)