We have a 3rd party product (GEODOCS by Docunav) that inserts data into a multiple value field we use called Storm_Mains. We get blank fields that show up as position 0 in the propval SQL table for that field and then the data is added or inserted at position 1. I think the process should work where the placeholder pos 0 in table propval that has a blank or null value should be replaced by the new value and it should be the new pos 0 in the table.
We can see this when we go into Laserfiche and pull up the metadata, where there is a blank in position 0 (see below). As well, you can see the same entry in the propval table so you see we are working with the same data (also below).
You can see how Laserfiche handles the field and you notice that there is no value in the Storm_Mains field, just a number. Technically, it is showing the user position 0 (which is blank) and that there are 5 additional entries.
Here is an example of multiple entries with the same problem as well as my EntryID of 644091 that I have noted above. In each instance, position 0 being a blank has created a problem with how we see the data.
The simple fix is to delete the blank entry from position 0 and the SQL table will then re-position the entries as 0 through 4 for the 5 entries versus 0 through 6 for the blank and then the 5 entries. I would like to know if there is a way to avoid this in the first place and replace the value at position 0 whenever a new entry is added via the 3rd Party product versus just adding a new entry at position 1 and leaving the blank. From what I can tell in the table propval, all fields have a value in the table. They are blank if there is no entry and they have data if there is a value.
ADDED NOTE: This only became an issue when we moved to Laserfiche 10.x because the previous version (we tested it), hides the blank spaces in the table. The new version does not. That is what exposed the issue, but the issue existed prior to 10.x, it just was exposed in 10.x.
I am new to the LF product so I am not familiar with how the 3rd party integrates but I assume it is via the SDK.