[Somente PaaS]{class="badge informative" title="Aplica-se somente a projetos do Adobe Commerce na nuvem (infraestrutura do PaaS gerenciada pela Adobe) e a projetos locais."}

ACSD-66120: GraphQL exibe porcentagens de desconto e preços base incorretos quando os preços do catálogo incluem imposto

O patch ACSD-66120 corrige o problema em que GraphQL exibe incorretamente porcentagens de desconto e preços base quando os preços do catálogo são configurados para incluir imposto. Esse problema causou discrepâncias de arredondamento, como mostrar um desconto de 19,99% em vez dos 20% esperados. Este patch está disponível quando o Quality Patches Tool (QPT) 1.1.70 está instalado. A ID do patch é ACSD-66120. Observe que esse problema está programado para ser corrigido no Adobe Commerce 2.4.9.

Produtos e versões afetados

O patch foi criado para a versão do Adobe Commerce:

  • Adobe Commerce (todos os métodos de implantação) 2.4.6-p9

Compatível com as versões do Adobe Commerce:

  • Adobe Commerce (todos os métodos de implantação) 2.4.4 - 2.4.8-p2
NOTE
O patch pode se tornar aplicável a outras versões com as novas versões do Quality Patches Tool. Para verificar se o patch é compatível com a sua versão do Adobe Commerce, atualize o pacote magento/quality-patches para a versão mais recente e verifique a compatibilidade na Quality Patches Tool: página Procurar patches. Use a ID do patch como palavra-chave de pesquisa para localizar o patch.

Problema

O GraphQL exibe incorretamente as porcentagens de desconto e os preços base quando os preços de catálogo são configurados para incluir imposto. Devido a erros de arredondamento, a porcentagem de desconto é exibida como 19,99% em vez dos 20% configurados.

Etapas a serem reproduzidas:

  1. Vá para Stores > Settings > Configuration > Catalog > Catalog > Price.

  2. Definir Catalog Price Scope como Site.

  3. Vá para Stores > Settings > Configuration > Sales > Tax > Calculation Settings.

    1. Defina Tax Calculation Method Based On como Preço Unitário.
    2. Definir Catalog Prices como Incluindo Imposto.
    3. Definir Apply Discount On Prices como Incluindo Imposto.
  4. Vá para Stores > Settings > Configuration > Sales > Tax > Default Tax Destination Calculation.

    1. Defina Default Country como França.
  5. Vá para Stores > Tax Zones and Rates > Add new Tax Rate.

    1. Digite qualquer nome no campo Tax Identifier.
    2. Digite um asterisco (*) no campo Zip/Post Code.
    3. Defina Country como França.
    4. Insira 20.000000 no campo Rate Percent.
    5. Clique em Save.
  6. Vá para Stores > Tax Rules > Add New Tax Rule.

    1. Digite qualquer nome no campo Name.
    2. Defina Tax Rate para a taxa adicionada na etapa anterior.
  7. Vá para Catalog > Products > Add Product.

    1. Insira test no campo Product Name.
    2. Insira test no campo SKU.
    3. Digite 82.65 no campo Price.
    4. Defina Tax Class como Mercadorias Tributáveis.
    5. Digite 100 no campo Quantity.
    6. Clique em Save.
  8. Alterar escopo para Exibição de Repositório Padrão.

    1. Desmarcar Use Default Value no Preço.
    2. Defina Price como 68.87.
    3. Desfazer a definição de Use Default Value na Classe de Imposto.
    4. Defina Tax Class como Mercadorias tributáveis.
    5. Clique em Save.
  9. Vá para Marketing > Promotions > Catalog Price Rule > Add New Rule.

    1. Digite qualquer nome no campo Rule Name.
    2. Defina Active como Sim.
    3. Defina Website como Site Principal.
    4. Configurar Customer Groups para todos
    5. Em Actions, defina Apply como Aplicar como porcentagem do original.
    6. Insira 20.000000 no campo Discount Amount.
    7. Clique em Save.
  10. Executar uma reindexação completa:

$ bin/magento index:reindex
  1. Executar a seguinte consulta GraphQL com Store: padrão definido nos cabeçalhos:
query{
products(filter: {sku: {eq: "test"}}, sort: {name: ASC}) {
    items {
      name
      sku
      price_range {
        minimum_price {
          regular_price {
            value
            currency
          }
          final_price {
            value
            currency
          }
          discount {
            amount_off
            percent_off
          }
        }
        maximum_price {
          regular_price {
            value
            currency
          }
          final_price {
            value
            currency
          }
          discount {
            amount_off
            percent_off
          }
        }
      }
    }
  }
}

Resultados esperados:

A porcentagem de desconto deve corresponder à regra do catálogo: 20%.

Resultados reais:

A porcentagem de desconto é exibida incorretamente como 19,99%.

Aplicar o patch

Para aplicar patches individuais, use os links a seguir, dependendo do método de implantação:

Leitura relacionada

Para saber mais sobre Quality Patches Tool, consulte:

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3