If I browse a web app item with 'Number' field types using the business catalyst admin interface, the numbers appear to be recorded as whole integers only. e.g. A customer enters 7.33 into a number type field and submits the web app item, browsing that item via the business catalyst interface, or preview the web app item in it's template, it will show that the number is recorded as 7. If I export the web app item list, that field will show the correct value, 7.33 in the csv file.
what the what?
A simple search with 'number field' of the forums returned zero results, and the knowledgebase doesn't say anything in the description of the number field being restricted like this. In fact the knowledgebase suggests using a number field for a 'Price' type field, and I don't know how that is useful if you can't use decimals.
I've deleted all items from my web app, in order to change these fields to text (string), but it gives me the error saying that 'data is assocated with this field'.
You can go ahead and delete the field even if it has associated values. This is just a warning screen. Webapps are quite robust and will not break if you do this. However if you delete a field or add a new one you will need to redo your layouts.
If you want to change the field type in a web app, you will have to delete the field and redo it. Sad I know.
If you have data already in the web app I suggest you download it all to spreadsheet.
Then delete the field, add it again as the correct type, and put the field in the correct place in the fields list. You will get a warning saying that the field you want to delete contains data, but you can go ahead and delete it. Create the new field and put it in the correct place in the fields list. Make it text string type. I suggest never using field type of number in a web app, as it is too literal, just an integer, and causes problems as you have found.
Then go to upload web app items.
Then download the upload template spreadsheet for the web app.
Check that the spreadsheet you downloaded is in the correct field order by putting an extra line at the top under the first line of field names, and then go to the upload template spreadsheet, copy the first line of field names in and paste into the new line you just created in the web app data spreadsheet. Go along and check that all the fields match, so that your upload will work.
Save your upload spreadsheet as csv.
Don't forget that when you upload web app items from a spreadsheet, they come in automatically as inactive, unless you have the correct data in the Release Date field. It must be as follows: 02-Jun-2012 (for example) and in TEXT format, not date format, so you have to format all the cells in that column as text, and then put the date in. Expiry data also needs to be set the same way, otherwise the downloaded data defaults to 1/1/1999 and so all the webapp items upload as already expired. I usually set the expiry date to 01-Jan-2099 TEXT format again.
If you reupload the webapp items they will overwrite the webapp items there and update the data into the new field.
You will then have to delete the old field from the webapp layouts and add the new field. I suggest going to HTML view in your layout customisation page, copying the HTML and pasting into Notepad.
Then reset the layout to default, and add the new field to the layout. Go into HTML view and get the code for that new field and replace the old field in the Notepad copy you took.
Then copy the entire Notepad dump, and paste it back into the HTML view of the layout. That way you don't have to to it all by hand again.
I have done about 10 webapps now, and every single one required field adjustments and reupload of data, due to customers changing their minds. I always charge them for that, because as you can see, it is quite bit of work to do.
Europe, Middle East and Africa