Repository for collaboration on Microsoft AL application add-on and localization extensions for Microsoft Dynamics 365 Business Central.
Перейти к файлу
glachana 85ab17a7e8
[Shopify] Fix sync catalog price issue (#27555)
<!-- Thank you for submitting a Pull Request. If you're new to
contributing to AlAppExtensions please read our pull request guideline
below
* https://github.com/microsoft/ALAppExtensions/blob/main/CONTRIBUTING.md
-->
#### Summary <!-- Provide a general summary of your changes -->
When users try to synchronize prices through the action available on
Shopify Catalogs page. Only the 100 first prices are synchronized. So if
the Shopify Catalog contains more than 100 product, only 100 of them
will be updated.

This problem results from a difference between two GraphQL requests made
during this process:

1) codeunit 30296 "Shpfy GQL CatalogPrices"
'{"query": "query { catalog(id: "gid://shopify/Catalog/{{CatalogId}}") {
id priceList {id currency prices(first:100) {edges {cursor node {variant
{id product {id}} price {amount} compareAtPrice {amount}}} pageInfo
{hasNextPage}}}}}"}'

2) codeunit 30297 "Shpfy GQL NextCatalogPrices"
'{"query": "query { catalog(id: "gid://shopify/Catalog/{{CatalogId}}") {
id priceList {id prices(first:100, after:"{{After}}") {edges {cursor
node {variant {id} price {amount} compareAtPrice {amount}}} pageInfo
{hasNextPage}}}}}"}'

Some necessary nodes are missing in NextCatalogPrices. Here is a fixed
request :

'{"query": "query { catalog(id: "gid://shopify/Catalog/{{CatalogId}}") {
id priceList {id currency prices(first:100, after:"{{After}}") {edges
{cursor node {variant {id product {id}} price {amount} compareAtPrice
{amount}}} pageInfo {hasNextPage}}}}}"}'


#### Work Item(s) <!-- Add the issue number here after the #. The issue
needs to be open and approved. Submitting PRs with no linked issues or
unapproved issues is highly discouraged. -->
Fixes #27535


Fixes
[AB#556528](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/556528)
2024-11-06 12:34:38 +01:00
.azuredevops
.github
Apps
Build
Other
.gitignore
BREAKINGCHANGES.md
CODEOWNERS
CODE_OF_CONDUCT.md
CONTRIBUTING.md
FAQ.md
LICENSE
README.md
SECURITY.md
build.ps1

README.md

Microsoft AL application add-ons for Microsoft Dynamics 365 Business Central

Welcome to the ALAppExtension repository!

This repo is a platform for Microsoft and our vibrant partner channel and community to work together to develop add-on apps in the AL language and to enable the general extensibility of Microsoft Dynamics 365 Business Central.

Were working to make the core application thinner, more extensible, and easier to localize extracting business logic into add-on and localization apps. As we go, well publish the source code for the apps in this repo. The apps are open for contributions and can furthermore serve as starting point for verticalizations or just as samples for developing apps.

⚠ This repository is no longer a place to develop on the System Application or Developer Tools! The System Application is now fully developed in the BCApps repository. Please use that repository for all contributions to the System Application and Developer Tools. ⚠

Microsoft will ship the contributions in upcoming releases of Microsoft Dynamics 365 Business Central, where youll get to enjoy the effect of your contributions.

Contributing

In this repository, we welcome contributions to Microsoft's application add-ons.

  • If you are looking to contribute to the System Application or Developer Tools you can do so in the BCApps repository.
  • If you are looking to contribute to the Base Application you can do so in the BusinessCentralApps repository. Please note, that this repository is private but you can request access by filling out this form.

⚠IMPORTANT⚠: This is not the right place to report product defects with customer impact to Microsoft! Issues created in this repository might not get picked up by the Microsoft engineering team and issues reported in this repository do not fall under SLAs (Service Level Agreements) and hence have no guaranteed time to mitigation, just as provided fixes won't get backported to all supported versions of the product.

Types of engagements

There are a couple of ways to engage with us here:

  • You can grab the code and contribute to the published apps. For more information, see the Contributing guidelines or watch this video: The Contribution Process.
  • If youre building your own app and need something specific from us, like an event, you can help improve the general extensibility of the business logic. For more information, see the Extensibility requests section below.

Extensibility requests

The following are the types of requests you can submit to unblock your app:

  • Add new integration events – Get the event you need to hook-in to a process.
  • Change function visibility – For example, make a public function external or a similar change so you can call it from your extension and reuse the business logic.
  • Replace Option with Enum – Replace a specific option with an enum that supports your extension. The new type enum is extensible, but all code was written for non-extensible options.
  • Extensibility enhancements – Request changes in the application code that will improve extensibility.

Well have a look at your request, and if we can well implement it asap. If we cant well let you know and briefly explain why not. When that happens, dont be discouraged. Go back to the drawing board, see if you can work it out, and then come back and submit another request.

Data Collection

The software may collect information about you and your use of the software and send it to Microsoft. Microsoft may use this information to provide services and improve our products and services. You may turn off the telemetry as described here. There are also some features in the software that may enable you and Microsoft to collect data from users of your applications. If you use these features, you must comply with applicable law, including providing appropriate notices to users of your applications together with a copy of Microsofts privacy statement. Our privacy statement is located at https://go.microsoft.com/fwlink/?LinkID=824704. You can learn more about data collection and use in the help documentation and our privacy statement. Your use of the software operates as your consent to these practices.

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsofts Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-partys policies.

See Also

FAQ