Rest 奥达塔。某些字符串字段的筛选器不工作
Im使用ODataV3和1C Enterprise 8.3.10。在ApacheTomcat2.2上。 这个问题 ?$top=1Rest 奥达塔。某些字符串字段的筛选器不工作,rest,odata,filtering,Rest,Odata,Filtering,Im使用ODataV3和1C Enterprise 8.3.10。在ApacheTomcat2.2上。 这个问题 ?$top=1 返回这样的结果: <d:Result xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:type="Collection(Standar
返回这样的结果:
<d:Result xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" m:type="Collection(StandardODATA.AccountingRegister_Типовой_Balance)">
<d:element m:type="StandardODATA.AccountingRegister_Типовой_Balance">
<d:Account_Key>8064bbd7-6b39-11e1-978d-00265502bde5</d:Account_Key>
<d:ExtDimension1>3e0969a1-6b39-11e1-978d-00265502bde5</d:ExtDimension1>
<d:ExtDimension1_Type>StandardODATA.Catalog_ОсновныеСредства</d:ExtDimension1_Type>
...
</d:element>
</d:Result>
8064bbd7-6b39-11e1-978d-002655025
3e0969a1-6b39-11e1-978d-002655025
标准数据目录
...
当我尝试添加过滤器时?$top=1和$filter=ExtDimension1等式'3e0969a1-6b39-11e1-978d-00265502bde5'它返回空结果。
“ExtDimension1”字段的类型是Edm.String,而不是guid
(来自$metadata)
...
我也尝试过这样过滤:$filter=ExtDimension1 eq guid'3e0969a1-6b39-11e1-978d-00265502bde5'
但它返回一个错误 如果我用另一个字段过滤 (例如ExtDimension1_Type)它工作正常。
有人知道如何按“ExtDimension1”字段过滤吗 更新
下面是元数据中Balance()函数的说明。希望它会有用
<FunctionImport Name="Balance" IsBindable="true" IsSideEffecting="false" ReturnType="Collection(StandardODATA.AccountingRegister_Типовой_Balance)">
<Parameter Name="bindingParameter" Type="StandardODATA.AccountingRegister_Типовой"/>
<Parameter Name="AccountCondition" Type="Edm.String"/>
<Parameter Name="Condition" Type="Edm.String"/>
<Parameter Name="Dimensions" Type="Edm.String"/>
<Parameter Name="ExtraDimensions" Type="Edm.String"/>
<Parameter Name="Period" Type="Edm.DateTime"/>
</FunctionImport>
试试:
?$top=1和$filter=ExtDimension1等式'3e0969a1-6b39-11e1-978d-00265502B'
例如,删除“()”或
指定编号:
?$top=1和$filter=ExtDimension1等式'3e0969a1-6b39-11e1-978d-00265502bde5'我遇到了类似的问题,并找到了解决方案
$filter=ExtDimension1 eq cast('3e0969a1-6b39-11e1-978d-00265502bde5', 'Catalog_ОсновныеСредства')
删除“()”不会更改结果。平衡是一个函数,当我输入一个数字时会出错。我更新了我的问题。感谢您提供了有用的答案,在我的例子中,它在cast函数中与guid一起工作:$filter=ExtDimension1 eq cast(guid'3e0969a1-6b39-11e1-978d-00265502bde5','Catalog拞С拞拞С拞拞拞拞拞拞
$filter=ExtDimension1 eq cast('3e0969a1-6b39-11e1-978d-00265502bde5', 'Catalog_ОсновныеСредства')