0

我们有一个使用我们扩展的 Web 服务端点的 EDI 供应商。这些目前仍然是 6.1 合同 2。

我们尝试提供升级的 18.200.001 合同 3 端点,但在尝试从端点提取数据时,它们遇到错误“查看结果具有 BQL 委托”。(端点通过 GI 收集大量库存数据。)

供应商告诉我们,如果这些是扩展的而不是默认的,即使旧的默认版本被弃用,它们也应该继续工作。

他们还说:随着 2018 年 Acumatica 更新了他们的优化,几乎不可能像这些查询那样提取整个记录集。可能有一种方法可以关闭 BQL 委托,但您需要为此咨询 Acumatica。

这是真的?我们最好让他们保持原样,还是有办法让他们为新合同工作?

下面是 Web 服务端点使用的(升级的)GI。

<GenericInquiryScreen>
    <data-set>
        <relations format-version="3" relations-version="20180809" main-table="GIDesign" stable-sharing="True" file-name="(Name)">
            <link from="GIFilter (DesignID)" to="GIDesign (DesignID)" />
            <link from="GIGroupBy (DesignID)" to="GIDesign (DesignID)" />
            <link from="GIMassAction (DesignID)" to="GIDesign (DesignID)" />
            <link from="GIMassUpdateField (DesignID)" to="GIDesign (DesignID)" />
            <link from="GINavigationScreen (DesignID)" to="GIDesign (DesignID)" />
            <link from="GINavigationParameter (DesignID, ScreenID)" to="GINavigationScreen (DesignID, ScreenID)" />
            <link from="GIOn (DesignID, RelationNbr)" to="GIRelation (DesignID, LineNbr)" />
            <link from="GIRecordDefault (DesignID)" to="GIDesign (DesignID)" />
            <link from="GIRelation (DesignID, ParentTable)" to="GITable (DesignID, Alias)" />
            <link from="GIRelation (DesignID, ChildTable)" to="GITable (DesignID, Alias)" />
            <link from="GIResult (DesignID)" to="GIDesign (DesignID)" />
            <link from="GIResult (ObjectName, DesignID)" to="GITable (Alias, DesignID)" />
            <link from="GISort (DesignID)" to="GIDesign (DesignID)" />
            <link from="GITable (DesignID)" to="GIDesign (DesignID)" />
            <link from="GIWhere (DesignID)" to="GIDesign (DesignID)" />
            <link from="SiteMap (Url)" to="GIDesign (DesignID)" type="WeakByUrl" linkname="toDesignById" baseurl="~/GenericInquiry/GenericInquiry.aspx" paramnames="id" />
            <link from="SiteMap (Url)" to="GIDesign (Name)" type="WeakByUrl" linkname="toDesignByName" baseurl="~/GenericInquiry/GenericInquiry.aspx" />
            <link from="ListEntryPoint (ListScreenID)" to="SiteMap (ScreenID)" />
            <link from="SiteMap (ScreenID)" to="GIDesign (PrimaryScreenIDNew)" linkname="to1Screen" />
            <link from="SiteMap (NodeID)" to="SiteMap (ParentID)" type="WeakToParent" recursive-nesting="yes" include-parents="False" />
            <link from="FilterHeader (ScreenID)" to="SiteMap (ScreenID)" />
            <link from="FilterRow (FilterID)" to="FilterHeader (FilterID)" />
            <link from="PivotTable (NoteID)" to="FilterHeader (RefNoteID)" />
            <link from="PivotField (ScreenID, PivotTableID)" to="PivotTable (ScreenID, PivotTableID)" />
            <link from="MUIScreen (NodeID)" to="SiteMap (NodeID)" />
            <link from="MUIWorkspace (WorkspaceID)" to="MUIScreen (WorkspaceID)" type="FromMaster" linkname="workspaceToScreen" split-location="yes" updateable="True" />
            <link from="MUISubcategory (SubcategoryID)" to="MUIScreen (SubcategoryID)" type="FromMaster" updateable="True" />
            <link from="MUITile (ScreenID)" to="SiteMap (ScreenID)" />
            <link from="MUIWorkspace (WorkspaceID)" to="MUITile (WorkspaceID)" type="FromMaster" linkname="workspaceToTile" split-location="yes" updateable="True" />
            <link from="MUIArea (AreaID)" to="MUIWorkspace (AreaID)" type="FromMaster" updateable="True" />
            <link from="MUIPinnedScreen (NodeID, WorkspaceID)" to="MUIScreen (NodeID, WorkspaceID)" type="WeakIfEmpty" isEmpty="Username" />
            <link from="MUIFavoriteWorkspace (WorkspaceID)" to="MUIWorkspace (WorkspaceID)" type="WeakIfEmpty" isEmpty="Username" />
            <link from="GIDesign (NoteID)" to="Note (NoteID)" type="Note" />
            <link from="GIFilter (NoteID)" to="Note (NoteID)" type="Note" />
            <link from="GIFilter (NoteID)" to="GIFilterKvExt (RecordID)" type="RowKvExt" />
            <link from="GIGroupBy (NoteID)" to="Note (NoteID)" type="Note" />
            <link from="GIOn (NoteID)" to="Note (NoteID)" type="Note" />
            <link from="GIRelation (NoteID)" to="Note (NoteID)" type="Note" />
            <link from="GIResult (NoteID)" to="Note (NoteID)" type="Note" />
            <link from="GIResult (NoteID)" to="GIResultKvExt (RecordID)" type="RowKvExt" />
            <link from="GISort (NoteID)" to="Note (NoteID)" type="Note" />
            <link from="GITable (NoteID)" to="Note (NoteID)" type="Note" />
            <link from="GIWhere (NoteID)" to="Note (NoteID)" type="Note" />
            <link from="FilterHeader (NoteID)" to="Note (NoteID)" type="Note" />
        </relations>
        <layout>
            <table name="GIDesign">
                <table name="GIFilter" uplink="(DesignID) = (DesignID)">
                    <table name="Note" uplink="(NoteID) = (NoteID)" />
                    <table name="GIFilterKvExt" uplink="(NoteID) = (RecordID)" />
                </table>
                <table name="GIGroupBy" uplink="(DesignID) = (DesignID)">
                    <table name="Note" uplink="(NoteID) = (NoteID)" />
                </table>
                <table name="GIMassAction" uplink="(DesignID) = (DesignID)" />
                <table name="GIMassUpdateField" uplink="(DesignID) = (DesignID)" />
                <table name="GINavigationScreen" uplink="(DesignID) = (DesignID)">
                    <table name="GINavigationParameter" uplink="(DesignID, ScreenID) = (DesignID, ScreenID)" />
                </table>
                <table name="GIRecordDefault" uplink="(DesignID) = (DesignID)" />
                <table name="GISort" uplink="(DesignID) = (DesignID)">
                    <table name="Note" uplink="(NoteID) = (NoteID)" />
                </table>
                <table name="GITable" uplink="(DesignID) = (DesignID)">
                    <table name="GIRelation" uplink="(DesignID, Alias) = (DesignID, ParentTable)">
                        <table name="GIOn" uplink="(DesignID, LineNbr) = (DesignID, RelationNbr)">
                            <table name="Note" uplink="(NoteID) = (NoteID)" />
                        </table>
                        <table name="Note" uplink="(NoteID) = (NoteID)" />
                    </table>
                    <table name="GIResult" uplink="(Alias, DesignID) = (ObjectName, DesignID)">
                        <table name="Note" uplink="(NoteID) = (NoteID)" />
                        <table name="GIResultKvExt" uplink="(NoteID) = (RecordID)" />
                    </table>
                    <table name="Note" uplink="(NoteID) = (NoteID)" />
                </table>
                <table name="GIWhere" uplink="(DesignID) = (DesignID)">
                    <table name="Note" uplink="(NoteID) = (NoteID)" />
                </table>
                <table name="SiteMap" uplink="(DesignID) = (Url)" recursion="(NodeID) = (ParentID)" linkname="toDesignById">
                    <table name="ListEntryPoint" uplink="(ScreenID) = (ListScreenID)" />
                    <table name="FilterHeader" uplink="(ScreenID) = (ScreenID)">
                        <table name="FilterRow" uplink="(FilterID) = (FilterID)" />
                        <table name="PivotTable" uplink="(RefNoteID) = (NoteID)">
                            <table name="PivotField" uplink="(ScreenID, PivotTableID) = (ScreenID, PivotTableID)" />
                        </table>
                        <table name="Note" uplink="(NoteID) = (NoteID)" />
                    </table>
                    <table name="MUIScreen" uplink="(NodeID) = (NodeID)">
                        <table name="MUIPinnedScreen" uplink="(NodeID, WorkspaceID) = (NodeID, WorkspaceID)" />
                    </table>
                    <table name="MUITile" uplink="(ScreenID) = (ScreenID)" />
                </table>
                <table name="SiteMap" uplink="(Name) = (Url)" recursion="(NodeID) = (ParentID)" linkname="toDesignByName">
                    <table name="ListEntryPoint" uplink="(ScreenID) = (ListScreenID)" />
                    <table name="FilterHeader" uplink="(ScreenID) = (ScreenID)">
                        <table name="FilterRow" uplink="(FilterID) = (FilterID)" />
                        <table name="PivotTable" uplink="(RefNoteID) = (NoteID)">
                            <table name="PivotField" uplink="(ScreenID, PivotTableID) = (ScreenID, PivotTableID)" />
                        </table>
                        <table name="Note" uplink="(NoteID) = (NoteID)" />
                    </table>
                    <table name="MUIScreen" uplink="(NodeID) = (NodeID)">
                        <table name="MUIPinnedScreen" uplink="(NodeID, WorkspaceID) = (NodeID, WorkspaceID)" />
                    </table>
                    <table name="MUITile" uplink="(ScreenID) = (ScreenID)" />
                </table>
                <table name="SiteMap" uplink="(PrimaryScreenIDNew) = (ScreenID)" recursion="(NodeID) = (ParentID)" linkname="to1Screen">
                    <table name="ListEntryPoint" uplink="(ScreenID) = (ListScreenID)" />
                    <table name="FilterHeader" uplink="(ScreenID) = (ScreenID)">
                        <table name="FilterRow" uplink="(FilterID) = (FilterID)" />
                        <table name="PivotTable" uplink="(RefNoteID) = (NoteID)">
                            <table name="PivotField" uplink="(ScreenID, PivotTableID) = (ScreenID, PivotTableID)" />
                        </table>
                        <table name="Note" uplink="(NoteID) = (NoteID)" />
                    </table>
                    <table name="MUIScreen" uplink="(NodeID) = (NodeID)">
                        <table name="MUIPinnedScreen" uplink="(NodeID, WorkspaceID) = (NodeID, WorkspaceID)" />
                    </table>
                    <table name="MUITile" uplink="(ScreenID) = (ScreenID)" />
                </table>
                <table name="Note" uplink="(NoteID) = (NoteID)" />
            </table>
            <table name="MUIWorkspace">
                <table name="MUIFavoriteWorkspace" uplink="(WorkspaceID) = (WorkspaceID)" />
            </table>
            <table name="MUISubcategory" />
            <table name="MUIArea" />
        </layout>
        <data>
            <GIDesign>
                <row DesignID="f7069dfb-2aac-433f-828f-29fc8d32f9dc" Name="B2B-IN-ItemInventory-Synnex" FilterColCount="3" PageSize="0" NewRecordCreationEnabled="0" MassDeleteEnabled="0" AutoConfirmDelete="0" MassRecordsUpdateEnabled="0" MassActionsOnRecordsEnabled="0" ExposeViaOData="0" ExposeViaMobile="0">
                    <GITable Alias="RawPart" Name="PX.Objects.IN.InventoryItem">
                        <GIRelation LineNbr="4" ChildTable="INLocationStatus" IsActive="1" JoinType="I">
                            <GIOn LineNbr="4" ParentField="inventoryID" Condition="E " ChildField="inventoryID" Operation="A" />
                        </GIRelation>
                    </GITable>
                    <GITable Alias="INLocationStatus" Name="PX.Objects.IN.INLocationStatus">
                        <GIRelation LineNbr="5" ChildTable="INLocation" IsActive="1" JoinType="I">
                            <GIOn LineNbr="5" ParentField="locationID" Condition="E " ChildField="locationID" Operation="A" />
                        </GIRelation>
                        <GIResult LineNbr="3" SortOrder="3" IsActive="1" Field="qtyAvail" SchemaField="INLocationStatus.QtyAvail" IsVisible="1" DefaultNav="1" QuickFilter="0" FastFilter="1" RowID="b684871b-4807-4d66-91db-cec612910c9c" />
                    </GITable>
                    <GITable Alias="INLocation" Name="PX.Objects.IN.INLocation" />
                    <GITable Alias="INKitSpecStkDet" Name="PX.Objects.IN.INKitSpecStkDet">
                        <GIRelation LineNbr="3" ChildTable="RawPart" IsActive="1" JoinType="I">
                            <GIOn LineNbr="3" ParentField="compInventoryID" Condition="E " ChildField="inventoryID" Operation="A" />
                        </GIRelation>
                    </GITable>
                    <GITable Alias="INKitSpecHdr" Name="PX.Objects.IN.INKitSpecHdr">
                        <GIRelation LineNbr="2" ChildTable="INKitSpecStkDet" IsActive="1" JoinType="I">
                            <GIOn LineNbr="2" ParentField="kitInventoryID" Condition="E " ChildField="kitInventoryID" Operation="A" />
                        </GIRelation>
                        <GIRelation LineNbr="1" ChildTable="FinishedPart" IsActive="1" JoinType="I">
                            <GIOn LineNbr="1" ParentField="KitInventoryID" Condition="E " ChildField="InventoryID" Operation="A" />
                        </GIRelation>
                    </GITable>
                    <GITable Alias="INItemXRef" Name="PX.Objects.IN.INItemXRef">
                        <GIResult LineNbr="4" SortOrder="4" IsActive="1" Field="alternateID" SchemaField="INItemXRef.AlternateID" IsVisible="1" DefaultNav="1" QuickFilter="0" FastFilter="1" RowID="d49abd75-3796-4245-9920-d55d68d2dcf8" />
                    </GITable>
                    <GITable Alias="FinishedPart" Name="PX.Objects.IN.InventoryItem">
                        <GIRelation LineNbr="6" ChildTable="INItemXRef" IsActive="1" JoinType="I">
                            <GIOn LineNbr="6" ParentField="inventoryID" Condition="E " ChildField="inventoryID" Operation="A" />
                        </GIRelation>
                        <GIResult LineNbr="2" SortOrder="2" IsActive="1" Field="descr" SchemaField="FinishedPart.Descr" IsVisible="1" DefaultNav="1" QuickFilter="0" FastFilter="1" RowID="cf77c143-839f-426a-a99c-9eea30fa1814" />
                        <GIResult LineNbr="1" SortOrder="1" IsActive="1" Field="InventoryCD" SchemaField="FinishedPart.InventoryCD" IsVisible="1" DefaultNav="1" QuickFilter="0" FastFilter="1" RowID="69cdb4da-c09e-4a67-a235-ff865aa8ff4e" />
                    </GITable>
                    <GIWhere LineNbr="5" IsActive="1" DataFieldName="FinishedPart.itemStatus" Condition="E " IsExpression="1" Value1="NP" CloseBrackets=")        " Operation="A" />
                    <GIWhere LineNbr="4" IsActive="1" OpenBrackets="(        " DataFieldName="FinishedPart.itemStatus" Condition="E " IsExpression="1" Value1="AC" Operation="O" />
                    <GIWhere LineNbr="3" IsActive="1" DataFieldName="INItemXRef.bAccountID" Condition="E " IsExpression="0" Value1="SYNNE01" Operation="A" />
                    <GIWhere LineNbr="2" IsActive="1" DataFieldName="INLocation.locationCD" Condition="E " IsExpression="0" Value1="IOMAIN" Operation="A" />
                    <GIWhere LineNbr="1" IsActive="1" DataFieldName="INKitSpecStkDet.dfltCompQty" Condition="E " IsExpression="0" Value1="1.0" Operation="A" />
                    <SiteMap linkname="toDesignById">
                        <row Position="28" Title="IN-ItemInventory" Url="~/GenericInquiry/GenericInquiry.aspx?id=f7069dfb-2aac-433f-828f-29fc8d32f9dc" Expanded="0" IsFolder="0" ScreenID="B2GI0053" NodeID="968db91a-9cd3-4b04-87f2-15bd15d0bb8b" ParentID="e3e41d8f-4d7c-4e76-ae19-8faca25d7be7">
                            <SiteMap Position="828.75" Title="Hidden GIs for Webservice Endpoints" Expanded="1" IsFolder="0" NodeID="e3e41d8f-4d7c-4e76-ae19-8faca25d7be7">
                                <SiteMap Position="71" Title="Hidden" Url="~/Frames/Default.aspx" Expanded="0" IsFolder="0" ScreenID="HD000000" NodeID="84351bc9-bf6c-48b5-9dea-f8207283b64a">
                                    <SiteMap Position="0" Title="Acumatica Company" Url="~/Frames/Default.aspx" Expanded="0" IsFolder="0" ScreenID="00000000" NodeID="00000000-0000-0000-0000-000000000000" />
                                </SiteMap>
                            </SiteMap>
                        </row>
                    </SiteMap>
                </row>
            </GIDesign>
        </data>
    </data-set>
</GenericInquiryScreen>
4

1 回答 1

2

根据我对您的消息的理解,您可能正在使用基于合同的 API,但我不确定它是 SOAP 还是 REST 版本。

如果您使用的是通用查询(GI),那么为了正确检索数据,您应该使用 PUT 方法而不是 GET。

这是显示有关此的更多详细信息的帮助页面。

休息:https ://help-2018r2.acumatica.com/(W(5))/Help?ScreenId=ShowWiki&pageid=6340cff3-4732-4231-9e42-5d1e5e65b5dd

可以使用 SOAP 版本完成相同的过程。

于 2019-04-29T17:25:52.407 回答