При обновлении расширенных конечных точек веб-службы до Системного контракта 3 (18.200.001) выдается ошибка «Просмотр результатов с делегатом BQL» - PullRequest
0 голосов
/ 29 апреля 2019

У нас есть поставщик EDI, который использует наши расширенные конечные точки веб-сервиса. В настоящее время все они все еще 6.1 Контракт 2.

Мы попытались предоставить обновленные 18.200.001 конечные точки контракта 3, но они сталкиваются с ошибкой «Просмотр результатов с делегатом BQL» при попытке получить данные из конечной точки. (Конечная точка собирает большое количество данных инвентаризации через GI.)

Поставщик сообщает нам, что если они расширены, а не по умолчанию, они должны продолжать работать даже после того, как старые версии по умолчанию устарели.

Они также говорят: с 2018 года Acumatica обновила свою оптимизацию, сделав практически невозможным получение целых наборов записей, как это делают эти запросы. Может быть способ отключить BQL-делегата, но для этого вам необходимо проконсультироваться с Acumatica.

Это правда? Нам лучше оставить их как есть, или есть ли способ заставить их работать на новый контракт?

Ниже приведен (обновленный) 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>

1 Ответ

2 голосов
/ 29 апреля 2019

Из того, что я понимаю в вашем сообщении, вы, вероятно, используете API на основе контракта, хотя я не уверен, что это версия SOAP или REST.

Если вы используете общие запросы (GI),затем, чтобы получить данные правильно, вы должны использовать метод PUT вместо GET.

Вот страница справки, на которой отображается более подробная информация об этом.

REST: https://help -2018r2.acumatica.com / (W (5)) / Справка? ScreenId = ShowWiki & pageid = 6340cff3-4732-4231-9e42-5d1e5e65b5dd

То же самое можно сделать с версией SOAP.

...