fix(compliance): improve compliance
This commit is contained in:
@ -556,6 +556,18 @@ export class UBLEncoder extends UBLBaseEncoder {
|
||||
private addBusinessReferencesToUBL(doc: Document, root: Element, businessReferences?: any): void {
|
||||
if (!businessReferences) return;
|
||||
|
||||
// Add BuyerReference
|
||||
if (businessReferences.buyerReference && !root.getElementsByTagName('cbc:BuyerReference')[0]) {
|
||||
const buyerRef = doc.createElement('cbc:BuyerReference');
|
||||
buyerRef.textContent = businessReferences.buyerReference;
|
||||
|
||||
// Insert after DocumentCurrencyCode
|
||||
const currencyCode = root.getElementsByTagName('cbc:DocumentCurrencyCode')[0];
|
||||
if (currencyCode && currencyCode.parentNode) {
|
||||
currencyCode.parentNode.insertBefore(buyerRef, currencyCode.nextSibling);
|
||||
}
|
||||
}
|
||||
|
||||
// Add OrderReference
|
||||
if (businessReferences.orderReference && !root.getElementsByTagName('cac:OrderReference')[0]) {
|
||||
const orderRef = doc.createElement('cac:OrderReference');
|
||||
@ -563,10 +575,12 @@ export class UBLEncoder extends UBLBaseEncoder {
|
||||
orderId.textContent = businessReferences.orderReference;
|
||||
orderRef.appendChild(orderId);
|
||||
|
||||
// Insert after DocumentCurrencyCode
|
||||
// Insert after BuyerReference or DocumentCurrencyCode
|
||||
const buyerRef = root.getElementsByTagName('cbc:BuyerReference')[0];
|
||||
const currencyCode = root.getElementsByTagName('cbc:DocumentCurrencyCode')[0];
|
||||
if (currencyCode && currencyCode.parentNode) {
|
||||
currencyCode.parentNode.insertBefore(orderRef, currencyCode.nextSibling);
|
||||
const insertAfter = buyerRef || currencyCode;
|
||||
if (insertAfter && insertAfter.parentNode) {
|
||||
insertAfter.parentNode.insertBefore(orderRef, insertAfter.nextSibling);
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user