Not able to add attribute for drop-down, radio button and date picker input widget

1
Hello everyone! I should replace the text box input fields in the survey so that I set the Legal status field as a drop-down widget, Sex as a radio button widget, and the Date of birth for the date picker widget. I ran into difficulties because I can't choose the right attribute for all three fields. I use export mapping (with JSON structure), so for example in JSON structure I can't set primitive type date and time for the dateOfBirt attribute (I know JSON doesn't support that). Does anyone have an idea how to solve the problem?   Edit: JSON structure Export mapping
asked
3 answers
1

Hi Petar,

Try getKey($NaturalPersonData/LegalStatusEnum). I gave not the best answer in my previous one. The difference between getKey and getCaption is explained here. 

 

(Probably getCaption raised the error because it was not translated yet)

 

With regards,

Marco

answered
0

Hi,

 

That feature is requested. https://forum.mendix.com/link/ideas/1955 

Maybe this would work:

Create next to the LegalStatus Enumeration  attribute a LegalStatusString String attribute. 

On the Attribute I make it a Calculated 

I use the following Microflow:

 

 

 

I hope that helps

 

answered
0

Hi @MarcoSpoel. I have tried several times to do so, but an error always occurs.
Also, I can't use 'LegalStatus (String)' in the main microflow for POST request. Do you know what could be the problem.

 

Log Line Details:

com.mendix.core.CoreRuntimeException: An error occurred while executing the action 'QuoteAndBuy.legalStatusEnum'
    at com.mendix.basis.objectmanagement.MendixObjectMemberImpl.getValue(MendixObjectMemberImpl.java:220)

Caused by: com.mendix.modules.microflowengine.MicroflowException: Failed to evaluate expression, error occurred on line 1, character 1
getCaption($NaturalPersonData/LegalStatusEnum)
^
    at QuoteAndBuy.legalStatusEnum (CreateOrChangeVariable : 'Create String variable')

Advanced stacktrace:
    at com.mendix.languages.mxexpressions.MxExpression.evaluate(MxExpression.scala:33)

Caused by: com.mendix.languages.expressions.ExpressionException: Incorrect arguments for function getCaption: null
    at com.mendix.languages.expressions.FunctionCallExpr$$anonfun$error$1.applyOrElse(FunctionCallExpr.scala:35)
    at com.mendix.languages.expressions.FunctionCallExpr$$anonfun$error$1.applyOrElse(FunctionCallExpr.scala:33)
    at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:35)
    at com.mendix.languages.expressions.FunctionCallExpr$$anonfun$getCaption$1.applyOrElse(FunctionCallExpr.scala:138)
    at com.mendix.languages.expressions.FunctionCallExpr$$anonfun$getCaption$1.applyOrElse(FunctionCallExpr.scala:138)
    at com.mendix.languages.expressions.FunctionCallExpr.evaluateExpression(FunctionCallExpr.scala:27)
    at com.mendix.languages.expressions.Expr.evaluate(Expr.scala:13)
    at com.mendix.languages.mxexpressions.MxExpression.evaluate(MxExpression.scala:26)
    at com.mendix.languages.mxexpressions.MxExpression.evaluate(MxExpression.scala:16)
    at com.mendix.modules.microflowengine.actions.variable.CreateOrChangeVariableAction.$anonfun$execute$2(CreateOrChangeVariableAction.scala:28)
    at scala.Option.fold(Option.scala:263)
    at com.mendix.modules.microflowengine.actions.variable.CreateOrChangeVariableAction.execute(CreateOrChangeVariableAction.scala:28)
    at com.mendix.modules.microflowengine.actions.variable.CreateOrChangeVariableAction.execute(CreateOrChangeVariableAction.scala:13)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.$anonfun$execute$1(MicroflowObject.scala:32)
    at scala.Option.flatMap(Option.scala:283)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowObject.execute(MicroflowObject.scala:29)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.$anonfun$executeAfterBreakingIfNecessary$2(MicroflowImpl.scala:174)
    at scala.Option.flatMap(Option.scala:283)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAfterBreakingIfNecessary(MicroflowImpl.scala:174)
    at com.mendix.modules.microflowengine.microflow.impl.MicroflowImpl.executeAction(MicroflowImpl.scala:121)
    at com.mendix.systemwideinterfaces.core.UserAction.execute(UserAction.java:46)
    at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.doCall(CoreActionHandlerImpl.scala:71)
    at com.mendix.basis.actionmanagement.CoreActionHandlerImpl.call(CoreActionHandlerImpl.scala:49)
    at com.mendix.core.actionmanagement.CoreAction.call(CoreAction.java:54)
    at com.mendix.basis.actionmanagement.ActionManagerBase$1.execute(ActionManagerBase.java:147)
    at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:26)
    at com.mendix.basis.actionmanagement.ActionManagerBase.executeSync(ActionManagerBase.java:152)
    at com.mendix.basis.actionmanagement.MicroflowCallBuilderImpl.execute(MicroflowCallBuilderImpl.scala:40)
    at com.mendix.basis.objectmanagement.MendixObjectMemberImpl.getValue(MendixObjectMemberImpl.java:218)
    at com.mendix.webui.jsonserialization.ValueConverter$$anon$1.apply(ValueConverter.scala:28)
    at com.mendix.webui.jsonserialization.ValueConverter$.convertValue(ValueConverter.scala:103)
    at com.mendix.webui.jsonserialization.ValueConverter$.convertOriginalMemberValue(ValueConverter.scala:26)
    at com.mendix.webui.jsonserialization.MendixObjectConverter$.convertMemberValue(MendixObjectConverter.scala:88)
    at com.mendix.webui.jsonserialization.MendixObjectConverter$.$anonfun$convert$4(MendixObjectConverter.scala:30)
    at scala.collection.Iterator$$anon$9.next(Iterator.scala:575)
    at scala.collection.immutable.HashMapBuilder.addAll(HashMap.scala:2342)
    at scala.collection.immutable.HashMap$.from(HashMap.scala:2164)
    at scala.collection.immutable.HashMap$.from(HashMap.scala:2140)
    at scala.collection.MapOps$WithFilter.map(Map.scala:352)
    at com.mendix.webui.jsonserialization.MendixObjectConverter$.convert(MendixObjectConverter.scala:29)
    at com.mendix.webui.jsonserialization.MendixObjectConverter$.convert(MendixObjectConverter.scala:24)
    at com.mendix.webui.jsonserialization.OutgoingState$.$anonfun$getResponse$1(OutgoingState.scala:29)
    at scala.collection.immutable.List.map(List.scala:246)
    at scala.collection.immutable.List.map(List.scala:79)
    at com.mendix.webui.jsonserialization.OutgoingState$.getResponse(OutgoingState.scala:29)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.apply(RegularClientAction.scala:57)
    at com.mendix.webui.actions.client.RegularClientAction$Helpers$StateHandler.apply(RegularClientAction.scala:45)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.apply(ExecuteMicroflowAction.scala:43)
    at com.mendix.webui.actions.client.ExecuteMicroflowAction.apply(ExecuteMicroflowAction.scala:22)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$3(RegularClientAction.scala:109)
    at scala.util.Try$.apply(Try.scala:210)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2(RegularClientAction.scala:109)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$2$adapted(RegularClientAction.scala:107)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.$anonfun$inContext$5(ContextHandling.scala:47)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at com.mendix.basis.actionmanagement.IMonitoredAction$$anon$1.execute(IMonitoredAction.scala:47)
    at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:26)
    at com.mendix.basis.actionmanagement.IMonitoredAction.monitor(IMonitoredAction.scala:49)
    at com.mendix.basis.actionmanagement.IMonitoredAction.monitor$(IMonitoredAction.scala:25)
    at com.mendix.webui.requesthandling.helpers.ContextHandling$ClientMonitoredAction.monitor(ContextHandling.scala:59)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:47)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:27)
    at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:86)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext(ContextHandling.scala:24)
    at com.mendix.webui.requesthandling.helpers.ContextHandling.inContext$(ContextHandling.scala:19)
    at com.mendix.webui.actions.client.RegularClientAction.inContext(RegularClientAction.scala:86)
    at com.mendix.webui.actions.client.RegularClientAction.$anonfun$execute$1(RegularClientAction.scala:107)
    at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.scala:18)
    at com.mendix.webui.requesthandling.helpers.ProfileHandling.profileRequest(ProfileHandling.scala:14)
    at com.mendix.webui.requesthandling.helpers.ProfileHandling.profileRequest$(ProfileHandling.scala:10)
    at com.mendix.webui.actions.client.RegularClientAction.profileRequest(RegularClientAction.scala:86)
    at com.mendix.webui.actions.client.RegularClientAction.execute(RegularClientAction.scala:104)
    at com.mendix.webui.requesthandling.ClientRequestHandler.handleAction(ClientRequestHandler.scala:105)
    at com.mendix.webui.requesthandling.ClientRequestHandler.processRequest(ClientRequestHandler.scala:82)
    at com.mendix.externalinterface.connector.RequestHandler.doProcessRequest(RequestHandler.java:46)
    at com.mendix.external.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:76)
    at com.mendix.external.connector.MxRuntimeConnector$1.execute(MxRuntimeConnector.java:73)
    at com.mendix.util.classloading.Runner.doRunUsingClassLoaderOf(Runner.java:26)
    at com.mendix.external.connector.MxRuntimeConnector.processRequest(MxRuntimeConnector.java:79)
    at com.mendix.basis.impl.MxRuntimeImplBase.processRequest(MxRuntimeImplBase.java:929)
    at com.mendix.m2ee.appcontainer.server.handler.RuntimeServlet.service(RuntimeServlet.java:42)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:763)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1631)
    at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:226)
    at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1618)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:549)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1610)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1369)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:489)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1580)
    at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1284)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
    at org.eclipse.jetty.server.Server.handle(Server.java:501)
    at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:383)
    at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:556)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:375)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:272)
    at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
    at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103)
    at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
    at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
    at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:375)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:806)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:938)
    at java.base/java.lang.Thread.run(Thread.java:834)
 

 

 

 

NaturalPersonData object

 

answered