Using the qbo3 Batch Import, I am uploading a spreadsheet containing my enumerations, along these lines:
ClassName | Operation | ObjectStatus | Object |
---|---|---|---|
ObjectStatus | Save | Option A | Resolution |
ObjectStatus | Save | Option B | Resolution |
ObjectStatus | Save | Option C | Resolution |
ObjectStatus | Save | SubOption 1 | Resolution.Option A |
ObjectStatus | Save | SubOption 2 | Resolution.Option B |
This incorrectly sets the ImportFileQueue.Object
column to Resolution
(or Resolution.Option A
), instead of setting ObjectStatus.Object
to Resolution
.
Reviewing the Batch Engine documentation, I corrected this issue by changing the Object
column as follows:
ClassName | Operation | ObjectStatus | Parameters |
---|---|---|---|
ObjectStatus | Save | Option A | Object=Resolution |
ObjectStatus | Save | Option B | Object=Resolution |
ObjectStatus | Save | Option C | Object=Resolution |
ObjectStatus | Save | SubOption 1 | Object=Resolution.Option A |
ObjectStatus | Save | SubOption 2 | Object=Resolution.Option A |
ObjectStatus | Save | SubOption 1 | Object=Resolution.Option B |
ObjectStatus | Save | SubOption 2 | Object=Resolution.Option B |
This successfully bound Object
to the ObjectStatus
table, but for some reason, 2 of my SubOption
rows were ignored by the import.
How do I fix this?
TLDR; add a column called
SetPropertiesLookup
with a value ofFALSE
for every row:This behavior is an artifact of
ImportFileQueue
's build-in deduping logic: users frequently attempt to upload spreadsheets with duplicate rows, which can in turn cause invocation of unwanted API calls to third party systems or other such problems.Uniqueness is determined by a combination of:
ClassName
Operation
ParameterXml
: an XML representation of all other columnsSince
Parameters
is a known column, but is not considered part of the unique signature,ImportFileQueue
considersSubOption 1
andSubOption 2
to be duplicates.Adding the
SetPropertiesLookup
causesImportFileQueue
to ignore the deduplication checks.