Skip to main content

I am trying to load a large number of item references against a checklist.

This message works fine

<root>
<session email="" alias="">
<state bc_name="Checklist">
<action name="data">
<main>
<row number="1">
<cl_id dtype="int">26</cl_id>
</row>
</main>
<checklist_reference>
<row number="1">
<activity_id in_var="" out_var="">
FT_ASSIST
</activity_id>
<item_id >487099</item_id>
<bo_search_keys>
<item>
<name>activity_id</name>
<value>
FT_ASSIST
</value>
</item>
<item>
<name>item_id</name>
<value>487099</value>
</item>
</bo_search_keys>
</row>
</checklist_reference>
</action>
</state>
</session>
</root>

But it takes an increasingly long time to process. After as little as 50 rows, it takes a ludicrous 2 minutes per request, and grows as the size of the checklist increases.

I am guessing that the issue is due to data searching for records to update.
So I would like to use data-new, as the integration guide describes this as simply an extension of data, without the search.

So I tried:

<root>
<session email="" alias="">
<state bc_name="Checklist">
<action name="data-new">
<main>
<row number="1">
<cl_id dtype="int">26</cl_id>
</row>
</main>
<checklist_reference>
<row number="1">
<activity_id in_var="" out_var="">
FT_ASSIST
</activity_id>
<item_id >487099</item_id>
<bo_search_keys>
<item>
<name>activity_id</name>
<value>
FT_ASSIST
</value>
</item>
<item>
<name>item_id</name>
<value>487099</value>
</item>
</bo_search_keys>
</row>
</checklist_reference>
</action>
</state>
</session>
</root>

And I get an error: 

succeeded:false

Error Message:: The 'Name' field is mandatory.

 

I took a stab in the dark and specified the cl_name:

<root>
<session email="" alias="">
<state bc_name="Checklist">
<action name="data-new">
<main>
<row number="1">
<cl_name>RNZ Rego Reminder</cl_name>
</row>
</main>
<checklist_reference>
<row number="1">
<activity_id in_var="" out_var="">
FT_ASSIST
</activity_id>
<item_id >487099</item_id>
<bo_search_keys>
<item>
<name>activity_id</name>
<value>
FT_ASSIST
</value>
</item>
<item>
<name>item_id</name>
<value>487099</value>
</item>
</bo_search_keys>
</row>
</checklist_reference>
</action>
</state>
</session>
</root>

And now I get error:

succeeded:false

Error Message:: Column 'Type' is Mandatory.

 

And at this point I am stuck. I don’t know what type is referring to. I am starting to suspect that this is attempting to create a new checklist, not update an existing one. So, perhaps I am fundamentally misunderstanding data-new. Can it add a new row to an existing checklist without searching the existing rows, or does the searching that the data action does refer to the search for the checklist header?

Either way, I am very keen for a way to speed this up. I need a way to apply a checklist to a large number of individual items, and I can’t see any other way that I can reference a list of items against a checklist. Can I add them to a project and reference the project? What is a project?

Found a resolution. You can load checklist against the installed item, rather than going straight through the checklist.

 

<root xmlns:dt="urn:schemas-microsoft-com:datatypes">
<session email="" alias="">
<state bc_name="item_installed">
<action name="data">
<main>
<row number="1">
<item_id dtype="int">{item_id}</item_id>
<cc_checklist_id>26</cc_checklist_id>
</row>
</main>
</action>
</state>
</session>
</root>

 


Reply