У нас есть поставщик 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>