Zuuuuuuup people !
So, I'm trying to create a screen to upload files,, between 2 interfaces. Since I need to send files to process model, I need to set rule input. But, When I try it, the following message is poped up:
Is it possible to send those files without using rule input ? I've tried to set rule input at button submit click, without success.
Discussion posts and replies are publicly visible
Can you please share the code snippet?
yep, sure:
Is this a start form? Do you have the rule input mapped to a Process Variable in your Process Model configuration?
yep.
But I got this message before send post to process model (I guess)
It looks like you are calling this interface rule in the interface - 'ifb_resumo_proposta' .
Can you please share the code where you are calling this in parent interface. Are you saving the value in a refresh variable?
this is the context: I have a interface, that got links to other "pages", where pages are expression rules that load content on this main page. Almost a menu and a page content that shows each menu content.
In this page, where the message appears, is about upload files and, to do so, I created a process model that receives a parameter with all files attatched.
Still in page upload, I created a rule input, that storage all files. This rule input is send to process model.
We have a print bellow, but not sure if it will helps.
You need to save the values from child interface in parent interface and then pass it to process.
Here you are not saving listaArquivos in any variable, save it in a rule input and map it with the process variable in process model.
to add to what Sanchit said... your issue, specifically, is that your sub-interface saves the uploaded documents into "ri!listaArquivos", but from the parent, you don't actually have that mapped anywhere valid/usable:
Huuumm...
My point of view comes from programming, like C# and Java. From an analogy, is that variable passed as a reference and need it exists in main process ? Because I don't need it filled from main process, it's will passed only for process model. So, why should I pass this variable ?
It's kinda tricky to understand how Appian deal with variables in this situation.
brunop0042 said:Because I don't need it filled from main process, it's will passed only for process model.
References in Appian are largely two-directional. You're not just "passing down" a value - the saveInto passes the value back up (assuming any saves are attempted). In this case, it passes the value up into the parent interface, where it was defined as literally an empty set, which is not a valid target for saving. To get the value passed out into a process instance, the value absolutely must be passed up into a Rule Input that's ultimately mapped to a Process Variable (if on a start form), or a Data Input (ac!) Variable (on a user input task).
A simple way to recreate the issue would be to have an ordinary field attempt to save its value into a literal string value:
Would we expect this saveInto to work? No, because a literal string is not a valid save target, as indicated by the error message.