Created attachment 921762 [details]
 git repository
Description of problem:
If you set "variable name" in the multi-instance sub process, which is the variable which will store element of the current iteration, it is not possible to use this variable name in the Assignment section.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Create process which includes multi-instance sub process
2. Set "variable name" of this multi-instance sub process
3. Model Human Task or Service Task within this multi-instance sub process
4. Try to perform an assignment of the variable name you have just set to the input of the newly modeled task - not possible, the value is simply not being displayed.
==== use attached git repository ===
- import repository
- open Parent project
- check the "variable name" of the multi-instance sub process
- try to assign this variable in the reusable sub process, which is modeled within the multi-instance sub process - it is not possible. It is not related to reusable sub process only, there can be whatever task which has Assignments section - human task, service task
Variable name of multi-instance sub process is not being displayed in the Assignments editor of the tasks modeled within this multi-instance sub process.
Variable name of multi-instance sub process is being displayed in the Assignments editor of the tasks modeled within this multi-instance sub process.
The workaround is to create PROCESS with the *same* name as the multi-instance subprocess "variable name", then perform the mapping, then delete the process variable.
Created attachment 922104 [details]
 git repository
ParentMulti includes multi-instance process.
When build, execute "InvoiceProcessing"
Continuation of the Additional info:
-- Create process variable which will have the same data type as the element of the iteration (i.e Person), let's call it 'pPerson'
-- in multi-instance sub process, let's call 'variable name', which is the element of the iteration, by name 'pPerson'
-- Place Human Task in the Multi-Instance sub process
-- create datainput, 'myInput', data type Person
-- create dataoutput, 'myOutput'', data type Person
-- open assignment section of Human Task.
--> input: from pPerson to myInput
--> output: from myOutput to pPerson
-- at this point it is not possible to successfully SAVE the project because there are two occurrences of the variable pPerson
-- let's delete the process variable pPerson
-- save the process, now, the assignment section is now somehow deformed, for example, the direction of the assignment is switched (this happened to the customer), or only dataoutput is preserved or datainput was renamed to the dataoutput..
This is not included in DR2.
Thanks for Marek pointing out. Moving back to MODIFIED.
I verify that if I add a subprocess variable I can find it in Data Assignment Editor.
Unfortunately, after discussion with Anton, I understand that this issue is not about subprocess variables. The other problem is that Properties Bar was change (compare screenshots from 6.0.2 GA, 6.1.0 DR3).
The real issue is that 'Variable Name' (variable where is stored the value from collection - maybe 'MI data input') is not visible in Data Assignment Editor of inner Task.
So Data Assignment Editor should contain these variables (correct me if I miss something):
- process variable
- subprocess variable (maybe all parents -> subprocess in subprocess)
- pointer to collection ('Variable Name' or 'MI data input/output')
The current fix is perfect but it does not fix this issue.
Note: This commit changes type of "MI collection input / output" and once I set a value I cannot deselect it. Please, can you insert the empty option?
Created attachment 940735 [details]
6.0.2 GA - Screenshot of Properties
Created attachment 940736 [details]
6.1.0 DR3 - Screenshot of Properties
I agree with you - the element of the current iteration, which was formerly stored in "Variable Name", and probably it is now called "MI Data Input/Output" needs to be 'assignable' in the elements which are stored inside the MI sub process.
If this is not the case I consider the fix as incomplete.
Setting back to 'Assigned' and waiting for Tiho's feedback.
The "formerly stored in 'Variable Name'", which version of jBPM do you mean?
I'd found this issue in BPMS 6.0.3 as well, and I also noticed that the iteration variables (both the Collection and elements of the collection) are not visible in multi-instance subprocess. I found a workaround solution by assigning the variables in Eclipse plugin. However, if I open the process file in Business Central and save it (without change anything), then the file will be messed up and not able to be run anymore (because of variable definition error exception).
btw, I think this issue is quite critical and many customers are depending on it. Will this bug be committed in 6.0.x?
mi data input/output now assignable
OK, Thanks Radovan 's test and suggestion.
This has been fixed now and the patch zip has been uploaded again into the patch release directory .
MI data input and MI data output variables are now available in Data Assignment editor of the MI subprocess tasks.