ACSD-66120: 카탈로그 가격에 세금이 포함된 경우 GraphQL에 잘못된 할인 비율과 기본 가격이 표시됩니다.
ACSD-66120 패치는 카탈로그 가격이 세금을 포함하도록 구성된 경우 GraphQL에서 할인 비율과 기본 가격을 잘못 표시하는 문제를 해결합니다. 이 문제로 인해 예상 20% 대신 19.99%의 할인 폭을 보이는 등 반올림 불일치가 발생했다. 이 패치는 Quality Patches Tool (QPT) 1.1.70이 설치된 경우에 사용할 수 있습니다. 패치 ID는 ACSD-66120입니다. 이 문제는 Adobe Commerce 2.4.9에서 수정됩니다.
영향을 받는 제품 및 버전
Adobe Commerce 버전에 대한 패치가 만들어졌습니다.
- Adobe Commerce(모든 배포 방법) 2.4.6-p9
Adobe Commerce 버전과 호환:
- Adobe Commerce(모든 배포 방법) 2.4.4 - 2.4.8-p2
magento/quality-patches 패키지를 최신 버전으로 업데이트하고 Quality Patches Tool에서 호환성을 확인합니다. 패치 검색 페이지. 패치 ID를 검색 키워드로 사용하여 패치를 찾습니다.문제
카탈로그 가격이 세금을 포함하도록 구성된 경우 GraphQL에 할인 비율과 기본 가격이 잘못 표시됩니다. 반올림 오류로 인해 할인율이 구성된 20% 대신 19.99%로 표시됩니다.
재현 단계:
-
Stores > Settings > Configuration > Catalog > Catalog > Price(으)로 이동합니다.
-
Catalog Price Scope 을(를) 웹 사이트(으)로 설정합니다.
-
Stores > Settings > Configuration > Sales > Tax > Calculation Settings(으)로 이동합니다.
- Tax Calculation Method Based On 을(를) 단가(으)로 설정합니다.
- Catalog Prices 을(를) 세금 포함(으)로 설정합니다.
- Apply Discount On Prices 을(를) 세금 포함(으)로 설정합니다.
-
Stores > Settings > Configuration > Sales > Tax > Default Tax Destination Calculation(으)로 이동합니다.
- Default Country 을(를) 프랑스(으)로 설정합니다.
-
Stores > Tax Zones and Rates > Add new Tax Rate(으)로 이동합니다.
- Tax Identifier 필드에 이름을 입력합니다.
- Zip/Post Code 필드에 별표(*)를 입력합니다.
- Country 을(를) 프랑스(으)로 설정합니다.
- 필드에 20.000000 Rate Percent 을(를) 입력하십시오.
- Save 을(를) 클릭합니다.
-
Stores > Tax Rules > Add New Tax Rule(으)로 이동합니다.
- Name 필드에 이름을 입력합니다.
- Tax Rate 을(를) 이전 단계에서 추가된 비율로 설정합니다.
-
Catalog > Products > Add Product(으)로 이동합니다.
- 필드에 test Product Name 을(를) 입력하십시오.
- 필드에 test SKU 을(를) 입력하십시오.
- 필드에 82.65 Price 을(를) 입력하십시오.
- Tax Class 을(를) 과세 대상(으)로 설정합니다.
- 필드에 100 Quantity 을(를) 입력하십시오.
- Save 을(를) 클릭합니다.
-
기본 스토어 보기(으)로 범위를 변경합니다.
- 가격에서 Use Default Value 을(를) 설정 해제합니다.
- Price 을(를) 68.87(으)로 설정합니다.
- 세금 분류에서 Use Default Value 설정을 해제했습니다.
- Tax Class 을(를) 과세 대상(으)로 설정합니다.
- Save 을(를) 클릭합니다.
-
Marketing > Promotions > Catalog Price Rule > Add New Rule(으)로 이동합니다.
- Rule Name 필드에 이름을 입력합니다.
- Active 을(를) 예(으)로 설정합니다.
- Website 을(를) 기본 웹 사이트(으)로 설정합니다.
- Customer Groups 을(를) 모두(으)로 설정
- Actions 에서 Apply 을(를) 원래 항목의 백분율로 적용 으로 설정하십시오.
- 필드에 20.000000 Discount Amount 을(를) 입력하십시오.
- Save 을(를) 클릭합니다.
-
전체 색인 재지정을 수행합니다.
$ bin/magento index:reindex
- GraphQL: 헤더에 설정된 Store default (으)로 다음 쿼리를 수행합니다.
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
}
}
}
}
}
}
예상 결과:
할인율은 카탈로그 규칙 20%와 일치해야 합니다.
실제 결과:
할인율이 19.99%로 잘못 표시됩니다.
패치 적용
개별 패치를 적용하려면 배포 방법에 따라 다음 링크를 사용합니다.
- Adobe Commerce 또는 Magento Open Source 온-프레미스: Quality Patches Tool 가이드의 > 사용량Quality Patches Tool
- 클라우드 인프라의 Adobe Commerce: Commerce on Cloud Infrastructure 안내서의 업그레이드 및 패치 > 패치 적용.
관련 읽기
Quality Patches Tool에 대한 자세한 내용은 다음을 참조하세요.