Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

  • claudiobosticco
    replied
    ok, but this gives me the same js error:
    Code:
       
           <implicitCriteria operator="or" _constructor="AdvancedCriteria">
                <criteria>
                    <Criterion fieldName="DATA_CESSAZIONE" operator="isNull"/>
                    <Criterion operator="and">
                        <criteria>
                            <Criterion fieldName="DATA_DECORRENZA" operator="lessThan" value="$currentDateTime"/>
                            <Criterion fieldName="DATA_CESSAZIONE" operator="greaterThan" value="$currentDateTime"/>
                        </criteria>
                    </Criterion>
                </criteria>
            </implicitCriteria>
    client side, it is translated like that:
    Code:
    implicitCriteria:{
            _constructor:"AdvancedCriteria",
            operator:"or",
            criteria:{
                Criterion:[
                    {
                        fieldName:"DATA_CESSAZIONE",
                        operator:"isNull"
                    },
                    {
                        operator:"and",
                        criteria:[
                            {
                                fieldName:"DATA_DECORRENZA",
                                operator:"lessThan",
                                value:"$currentDateTime"
                            },
                            {
                                fieldName:"DATA_CESSAZIONE",
                                operator:"greaterThan",
                                value:"$currentDateTime"
                            }
                        ]
                    }
                ]
            }
        }

    Leave a comment:


  • Isomorphic
    replied
    "criterion" needs a capital letter

    Leave a comment:


  • claudiobosticco
    replied
    Originally posted by Isomorphic View Post
    You need a <criteria> tag around your set of top-level <criterion> tags - same format as you see elsewhere for <AdvancedCriteria>.
    You mean as in my 2nd try?
    Code:
        <implicitCriteria operator="or" _constructor="AdvancedCriteria">
            <criteria>
                <Criterion fieldName="DATA_CESSAZIONE" operator="isNull"/>
                <criterion operator="and">
                    <criteria>
                        <Criterion fieldName="DATA_DECORRENZA" operator="lessThan" value="$currentDateTime"/>
                        <Criterion fieldName="DATA_CESSAZIONE" operator="greaterThan" value="$currentDateTime"/>
                    </criteria>
                </criterion>
            </criteria>
        </implicitCriteria>
    when I execute a fetchData on that dataSource, I get this js error:

    Code:
    10:27:45.244:TMR9:WARN:Log:TypeError: critArray.removeEmpty is not a function
    Stack from error.stack:
        compressNestedCriteria(<no args: exited>) on [Class DataSource] @ ISC_DataBinding.js:32781:23
        cons._getCombinedImplicitCriteria(<no args: exited>) on [DataSource ID:JOFC_PRESIDENTE_IN_CARICA] @ ISC_DataBinding.js:17771:57
        cons.addImplicitCriteria(<no args: exited>) on [DataSource ID:JOFC_PRESIDENTE_IN_CARICA] @ ISC_DataBinding.js:17779:37
        cons.sendDSRequest(<no args: exited>) on [DataSource ID:JOFC_PRESIDENTE_IN_CARICA] @ ISC_DataBinding.js:22873:14
        cons.performDSOperation(<no args: exited>) on [DataSource ID:JOFC_PRESIDENTE_IN_CARICA] @ ISC_DataBinding.js:22701:21
        cons.fetchData(<no args: exited>) on [DataSource ID:JOFC_PRESIDENTE_IN_CARICA] @ ISC_DataBinding.js:20842:14
        eval(<no args: exited>) @ [no file]:1:27
        cons.eval(<no args: exited>) on [Class Log] @ [no file]:3:8
        evalWithVars(<no args: exited>) on [Class Class] @ ISC_Core.js:7528:24
        cons.evaluate(expr=>"JOFC_PRESIDENTE_IN_CARICA.fetchData()...", evalVars=>Obj) on [Class Log] @ ISC_Core.js:29183:36
        cons.evaluate(expr=>"JOFC_PRESIDENTE_IN_CARICA.fetchData()
    ", evalVars=>Obj) on [LogViewer ID:undefined] @ ISC_Core.js:29984:24
        cons.evalJSWithDevConsoleVars(expression=>"JOFC_PRESIDENTE_IN_CARICA.fetchData()
    ", evalVars=>Obj, delayed=>null) on [DebugTarget ID:undefined] @ ISC_Core.js:59887:27
        cons.call(methodName=>Obj, args=>undef, callback=>undef) on [DebugTarget ID:undefined] @ ISC_Core.js:59289:16
        cons.handlePacket(packet=>Obj, originSocket=>[MessagingDMISocket ID:isc_MessagingDMISocket_3], originWindow=>[object Window]) on [DebugTarget ID:undefined] @ ISC_Core.js:59098:10
        cons.packetReceived(packet=>Obj, originSocket=>[MessagingDMISocket ID:isc_MessagingDMISocket_3], originWindow=>[object Window]) on [MessagingDMISocket ID:isc_MessagingDMISocket_0] @ ISC_Core.js:59150:19
        cons.receive(data=>Obj, originSocket=>[MessagingDMISocket ID:isc_MessagingDMISocket_3], originWindow=>[object Window]) on [MessagingDMISocket ID:isc_MessagingDMISocket_0] @ ISC_Core.js:58888:14
        cons.fireCallback(callback=>Obj, argNames=>null, args=>null, target=>null, catchErrors=>true) on [Class Timer] @ ISC_Core.js:7319:36
        cons._fireTimeout(ID=>"_timeout156", tmrID=>171, delayedTmrID=>undef) on [Class Timer] @ ISC_Core.js:47621:10
        <anonymous>() @ ISC_Core.js:47543:19
    is it a bug? please let me know if you need a standalone test case

    Originally posted by Isomorphic View Post
    We don’t support Velocity expressions in inplicitCriteria. You’ve got DMI and ServerScript and DSRequestModifiers as ways of doing dynamic, required criteria.
    ok, thanks
    Last edited by claudiobosticco; 9 Apr 2019, 00:35.

    Leave a comment:


  • Isomorphic
    replied
    You need a <criteria> tag around your set of top-level <criterion> tags - same format as you see elsewhere for <AdvancedCriteria>.

    We don’t support Velocity expressions in inplicitCriteria. You’ve got DMI and ServerScript and DSRequestModifiers as ways of doing dynamic, required criteria.

    Leave a comment:


  • AdvancedCriteria in DataSource.implicitCriteria: is it possible?

    SmartClient Version: SNAPSHOT_v12.1d_2019-04-04/EVAL Deployment (expires 2019.06.03_07.20.41) Licensed to: Isomorphic Software (#ISC_EVAL_NIGHTLY)

    Hello, I'm trying to use DataSource.implicitCriteria with an AdvancedCriteria.

    I've tried this syntax:

    Code:
        <implicitCriteria operator="and" _constructor="AdvancedCriteria">
                <Criterion fieldName="DATA_CESSAZIONE" operator="isNull"/>
                <criterion operator="and">
                    <criteria>
                        <Criterion fieldName="DATA_DECORRENZA" operator="lessThan" value="$currentDateTime"/>
                        <Criterion fieldName="DATA_CESSAZIONE" operator="greaterThan" value="$currentDateTime"/>
                    </criteria>
                </criterion>
        </implicitCriteria>
    But it produces this fetch criteria:

    Code:
    2019-04-05 18:36:25,564 DEBUG RPCManager Request #1 (DSRequest) payload: {
        criteria:{
            _constructor:"AdvancedCriteria",
            operator:"and",
            Criterion:[
                {
                    fieldName:"DATA_CESSAZIONE",
                    operator:"isNull"
                },
                {
                    operator:"and",
                    criteria:[
                        {
                            fieldName:"DATA_DECORRENZA",
                            operator:"lessThan",
                            value:"$currentDateTime"
                        },
                        {
                            fieldName:"DATA_CESSAZIONE",
                            operator:"greaterThan",
                            value:"$currentDateTime"
                        }
                    ]
                }
            ]
        },
        operationConfig:{
            dataSource:"JOFC_PRESIDENTE_IN_CARICA",
            repo:null,
            operationType:"fetch",
            textMatchStyle:"exact"
        },
    ....
    and I see this message in the log:

    Code:
    2019-04-05 18:36:25,565 WARN  SQLWhereClause [builtinApplication.JOFC_PRESIDENTE_IN_CARICA_fetch] Subcriteria of AdvancedCriteria not an instance of List - using empty ArrayList
    So I've tried this:

    Code:
        <implicitCriteria operator="and" _constructor="AdvancedCriteria">
            <criteria>
                <Criterion fieldName="DATA_CESSAZIONE" operator="isNull"/>
                <criterion operator="and">
                    <criteria>
                        <Criterion fieldName="DATA_DECORRENZA" operator="lessThan" value="$currentDateTime"/>
                        <Criterion fieldName="DATA_CESSAZIONE" operator="greaterThan" value="$currentDateTime"/>
                    </criteria>
                </criterion>
            </criteria>
        </implicitCriteria>
    But on JOFC_PRESIDENTE_IN_CARICA.fetchData()
    I get this js error:
    Code:
    ISC_DataBinding.js?isc_version=v121d_2019-04-04.js:32781 Uncaught TypeError: critArray.removeEmpty is not a function
        at Object.compressNestedCriteria (ISC_DataBinding.js?isc_version=v121d_2019-04-04.js:32781)
        at cons._getCombinedImplicitCriteria (ISC_DataBinding.js?isc_version=v121d_2019-04-04.js:17771)
        at cons.addImplicitCriteria (ISC_DataBinding.js?isc_version=v121d_2019-04-04.js:17779)
        at cons.sendDSRequest (ISC_DataBinding.js?isc_version=v121d_2019-04-04.js:22873)
        at cons.performDSOperation (ISC_DataBinding.js?isc_version=v121d_2019-04-04.js:22701)
        at cons.fetchData (ISC_DataBinding.js?isc_version=v121d_2019-04-04.js:20842)
        at <anonymous>:1:27
    Is it possible to express an AdvancedCriteria in an implicitCriteria?

    Also: is it possible to use a velocity expression in it?
Working...
X