Коннектор: Power Bi 1с

1C’s Date includes timezone-less datetime. Use DateTimeZone.RemoveZone() in Power Query. 5. Performance Optimization 5.1 Query Folding OData supports partial folding: filters on indexed fields are pushed down. Example: Table.SelectRows(Source, each [Deleted] = false) becomes $filter=Deleted eq false .

OData connector with incremental refresh. power bi 1с коннектор

SELECT Sales.Ref AS SaleID, Sales.Date, Products.Name AS ProductName, Sales.Quantity FROM Document.Sales AS Sales LEFT JOIN Catalog.Products AS Products ON Sales.Product = Products.Ref WHERE Sales.Date >= DATETIME(2024,1,1) Publish this as an OData data source. 1C’s Date includes timezone-less datetime

Instead of exposing raw tables, create a 1C query that pre-joins and filters: Performance Optimization 5

let BaseUrl = "http://1c-server/odata/standard/odata/Catalog_Products", GetPage = (url) => let Response = OData.Feed(url, null, [Implementation="2.0"]), NextLink = if Record.HasFields(Response, "odata.nextLink") then Response[odata.nextLink] else null in Response, AllPages = List.Generate( () => [Page = GetPage(BaseUrl), Next = null], each [Page] <> null, each [Page = GetPage([Next]), Next = null], each [Page] ), Combined = Table.Combine(AllPages) in Combined

| Method | Technology | Real-time capability | Performance | Complexity | |--------|------------|----------------------|-------------|-------------| | | 1C native HTTP service (OData 2.0/3.0/4.0) | Medium (near real-time) | Medium (paging required) | Low | | 2. Direct SQL | Direct connection to underlying DB (MS SQL, PostgreSQL) | High (live query) | High (but bypasses 1C business logic) | Medium (needs schema understanding) | | 3. Middleware API | REST API (Python/Node.js/Java) reading 1C COM or HTTP services | Medium | Variable (caching possible) | High | 2.1 OData Service (Recommended for Most Cases) 1C provides built-in publication of catalogs, documents, and registers as OData endpoints. Power BI’s OData.Feed connector can consume these.