UNPKG

node-sped-nfe-custom

Version:

Seja bem-vindo(a) à **Biblioteca de Emissão de NF-e** — sua parceira definitiva para integrar **emissão de Nota Fiscal Eletrônica modelo 55 (NF-e)** e **modelo 65 (NFC-e)** em aplicações modernas, com simplicidade, robustez e total conformidade com a legi

893 lines 81.8 kB
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; var _Make_instances, _Make_NFe, _Make_ICMSTot, _Make_gerarChaveNFe, _Make_calcularDigitoVerificador, _Make_conditionalNumberFormatting, _Make_equalizeICMSParameters, _Make_addChildJS, _Make_equalizePISParameters, _Make_calICMSTot; import { XMLBuilder } from "fast-xml-parser"; import { urlEventos } from "./eventos.js"; import { cUF2UF } from "./extras.js"; //Classe da nota fiscal class Make { constructor() { _Make_instances.add(this); _Make_NFe.set(this, { "@xmlns": "http://www.portalfiscal.inf.br/nfe", infNFe: { //"@xmlns": "http://www.portalfiscal.inf.br/nfe", } }); _Make_ICMSTot.set(this, { vBC: 0, vICMS: 0, vICMSDeson: 0, vFCP: 0, vBCST: 0, vST: 0, vFCPST: 0, vFCPSTRet: 0, vProd: 0, vFrete: 0, vSeg: 0, vDesc: 0, vII: 0, vIPI: 0, vIPIDevol: 0, vPIS: 0, vCOFINS: 0, vOutro: 0, vNF: 0 }); } formatData(dataUsr = new Date()) { const ano = dataUsr.getFullYear(); const mes = String(dataUsr.getMonth() + 1).padStart(2, '0'); // Adiciona 1 porque os meses começam do 0 const dia = String(dataUsr.getDate()).padStart(2, '0'); const horas = String(dataUsr.getHours()).padStart(2, '0'); const minutos = String(dataUsr.getMinutes()).padStart(2, '0'); const segundos = String(dataUsr.getSeconds()).padStart(2, '0'); const fusoHorario = -dataUsr.getTimezoneOffset() / 60; // Obtém o fuso horário em horas const formatoISO = `${ano}-${mes}-${dia}T${horas}:${minutos}:${segundos}${fusoHorario >= 0 ? '+' : '-'}${String(Math.abs(fusoHorario)).padStart(2, '0')}:00`; return formatoISO; } //Optativa tagInfNFe(obj) { Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe[`@${key}`] = obj[key]; }); } tagIde(obj) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide = new Object(); Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide[key] = obj[key]; }); } //Referencimanto de NFe tagRefNFe(obj) { if (typeof __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref == "undefined") { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref = new Array(); } if (Array.isArray(obj)) { //Array de referenciamento de refNFe __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref = obj.map(ref => ({ refNFe: `${ref}` })); } else { //String unica de refNFe __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref.push({ refNFe: obj }); } } tagRefNF(obj) { if (typeof __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref == "undefined") { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref = new Array(); } __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref.push({ refNF: obj }); } tagRefNFP(obj) { if (typeof __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref == "undefined") { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref = new Array(); } __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref.push({ refNFP: obj }); } tagRefCTe(obj) { if (typeof __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref == "undefined") { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref = new Array(); } __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref.push({ refCTe: obj }); } tagRefECF(obj) { if (typeof __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref == "undefined") { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref = new Array(); } __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.NFref.push({ refECF: obj }); } tagEmit(obj) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.emit = new Object(); Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.emit[key] = obj[key]; if (key == "xFant") { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.emit.enderEmit = {}; } }); } tagEnderEmit(obj) { Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.emit.enderEmit[key] = obj[key]; }); } tagDest(obj) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.dest = {}; if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.tpAmb == 2 && obj['xNome'] !== undefined) obj['xNome'] = "NF-E EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL"; Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.dest[key] = obj[key]; if (key == "xNome" && __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.mod == 55) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.dest.enderDest = {}; } }); } tagEnderDest(obj) { if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.mod == 65) return 1; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.dest.enderDest = {}; Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.dest.enderDest[key] = obj[key]; }); } tagRetirada(obj) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.retirada = {}; Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.retirada[key] = obj[key]; }); } tagAutXML(obj) { if (typeof __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.autXML == "undefined") { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.autXML = new Array(); } __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.autXML.push(obj); } //tagprod async tagProd(obj) { //Abrir tag de imposto for (let cont = 0; cont < obj.length; cont++) { if (obj[cont]['@nItem'] === undefined) { obj[cont] = { '@nItem': cont + 1, prod: obj[cont], imposto: {} }; } else { obj[cont] = { '@nItem': obj[cont]['@nItem'], prod: obj[cont], imposto: {} }; delete obj[cont].prod['@nItem']; } //Primeiro item + NFCe + Homologação if (cont == 0 && __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.mod == 65 && __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.ide.tpAmb == 2) obj[cont].prod.xProd = "NOTA FISCAL EMITIDA EM AMBIENTE DE HOMOLOGACAO - SEM VALOR FISCAL"; obj[cont].prod.qCom = (obj[cont].prod.qCom * 1).toFixed(4); obj[cont].prod.vUnCom = (obj[cont].prod.vUnCom * 1).toFixed(10); obj[cont].prod.vProd = (obj[cont].prod.vProd * 1).toFixed(2); if (obj[cont].prod.vDesc !== undefined) obj[cont].prod.vDesc = (obj[cont].prod.vDesc * 1).toFixed(2); obj[cont].prod.qTrib = (obj[cont].prod.qTrib * 1).toFixed(4); obj[cont].prod.vUnTrib = (obj[cont].prod.vUnTrib * 1).toFixed(10); //Calcular ICMSTot __classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj[cont].prod); } __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det = obj; } tagCreditoPresumidoProd(obj) { throw "não implementado!"; } taginfAdProd(index, obj) { Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index][key] = obj[key]; }); } tagCEST(obj) { throw "não implementado!"; } tagRECOPI(obj) { throw "não implementado!"; } tagDI(index, obj) { if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].DI === undefined) __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].DI = {}; Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].DI[key] = obj[key]; }); //Adicionar ao imposto global __classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj); } tagAdi(index, obj) { if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].DI === undefined) __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].DI = {}; if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].DI.adi === undefined) __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].DI.adi = {}; Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].DI.adi[key] = obj[key]; }); //Adicionar ao imposto global __classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj); } tagDetExport(obj) { throw "não implementado!"; } tagDetExportInd(obj) { throw "não implementado!"; } tagRastro(obj) { throw "não implementado!"; } tagVeicProd(obj) { throw "não implementado!"; } tagMed(obj) { throw "não implementado!"; } tagArma(obj) { throw "não implementado!"; } tagComb(obj) { throw "não implementado!"; } tagEncerrante() { throw "não implementado!"; } tagOrigComb() { throw "não implementado!"; } tagImposto() { throw "não implementado!"; } tagProdICMS(index, data) { if (!__classPrivateFieldGet(this, _Make_NFe, "f")?.infNFe?.det?.[index]) { throw new Error(`Produto na posição ${index} não existe em infNFe.det`); } if (!__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto = {}; } if (!__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS = {}; } const obj = __classPrivateFieldGet(this, _Make_instances, "m", _Make_equalizeICMSParameters).call(this, data); let keyXML = ""; switch (obj.CST) { case '00': keyXML = 'ICMS00'; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = this.generateICMS00(obj); break; case '02': keyXML = 'ICMS02'; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = this.generateICMS02(obj); break; case '10': keyXML = 'ICMS10'; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = this.generateICMS10(obj); break; case '15': keyXML = 'ICMS15'; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = this.generateICMS15(obj); break; case '20': keyXML = 'ICMS20'; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = this.generateICMS20(obj); break; case '30': keyXML = 'ICMS30'; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = this.generateICMS30(obj); break; case '40': case '41': case '50': keyXML = 'ICMS40'; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = this.generateICMS40(obj); break; case '51': keyXML = 'ICMS51'; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = this.generateICMS51(obj); break; case '53': keyXML = 'ICMS53'; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = this.generateICMS53(obj); break; case '60': keyXML = 'ICMS60'; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = this.generateICMS60(obj); break; case '61': keyXML = 'ICMS61'; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = this.generateICMS61(obj); break; case '70': keyXML = 'ICMS70'; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = this.generateICMS70(obj); break; case '90': keyXML = 'ICMS90'; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = this.generateICMS90(obj); break; default: throw new Error(`CST inválido: ${obj.CST}`); } } // Imposto Seletivo (IS) tagImpostoIS(detIndex, obj) { if (!__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[detIndex].imposto) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[detIndex].imposto = {}; } __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[detIndex].imposto.IS = obj; } // Imposto IBS tagImpostoIBS(detIndex, obj) { if (!__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[detIndex].imposto) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[detIndex].imposto = {}; } __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[detIndex].imposto.IBS = obj; } // Imposto CBS tagImpostoCBS(detIndex, obj) { if (!__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[detIndex].imposto) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[detIndex].imposto = {}; } __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[detIndex].imposto.CBS = obj; } tagProdICMSPart(index, obj) { if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS === undefined) __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS = {}; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS.ICMSPart = {}; Object.keys(obj).forEach(key => { if (key != 'orig' && key != 'modBC') obj[key] = obj[key] == 0 ? "0.00" : obj[key]; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS.ICMSPart[key] = obj[key]; }); //Calcular ICMSTot __classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj); } // tagProdICMSST(index, obj) { if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS === undefined) __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS = {}; let CST = obj.CST; //delete obj.CST; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[`ICMS${CST}`] = {}; Object.keys(obj).forEach(key => { if (!["orig", "CSOSN", "modBC", "modBCST"].includes(key)) obj[key] = obj[key] == 0 ? "0.00" : obj[key]; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[`ICMS${CST}`][key] = obj[key]; }); //Calcular ICMSTot __classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj); } // tagProdICMSSN(index, obj) { if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS === undefined) __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS = {}; let keyXML = ""; switch (obj.CSOSN) { case '101': keyXML = 'ICMSSN101'; break; case '102': case '103': case '300': case '400': keyXML = 'ICMSSN102'; break; case '201': keyXML = 'ICMSSN201'; break; case '202': case '203': keyXML = 'ICMSSN202'; break; case '500': keyXML = 'ICMSSN500'; break; case '900': keyXML = 'ICMSSN900'; break; default: throw "CSOSN não identificado!"; break; } __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML] = {}; Object.keys(obj).forEach(key => { if (key != 'orig') obj[key] = obj[key] == 0 ? "0.00" : obj[key]; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMS[keyXML][key] = obj[key]; }); //Calcular ICMSTot __classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj); } tagProdICMSUFDest(index, obj) { console.log(__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.total); if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMSUFDest === undefined) __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMSUFDest = {}; Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ICMSUFDest[key] = obj[key] == 0 ? "0.00" : obj[key]; }); __classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot)?.call(this, obj); // opcional } tagProdIPI(index, data) { if (!__classPrivateFieldGet(this, _Make_NFe, "f")?.infNFe?.det?.[index]) { throw new Error(`Produto na posição ${index} não existe em infNFe.det`); } if (!__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto = {}; } if (!__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.IPI) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.IPI = {}; } const obj = this.equalizeIPIParameters(data); // Campo obrigatório na raiz do IPI __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.IPI.cEnq = obj.cEnq; let keyXML = ""; let ipiTag = {}; // Use um objeto local para construir a tag switch (obj.CST) { case '00': case '49': case '50': case '99': keyXML = 'IPITrib'; ipiTag = this.generateIPITrib(obj); break; case '01': case '02': case '03': case '04': case '05': case '51': case '52': case '53': case '54': case '55': keyXML = 'IPINT'; ipiTag = this.generateIPINT(obj); break; default: throw new Error("CST de IPI não identificado!"); } __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.IPI[keyXML] = ipiTag; // Adicionar campos opcionais na raiz do IPI if (obj.clEnq) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.IPI.clEnq = obj.clEnq; } if (obj.CNPJProd) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.IPI.CNPJProd = obj.CNPJProd; } if (obj.cSelo) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.IPI.cSelo = obj.cSelo; } if (obj.qSelo) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.IPI.qSelo = obj.qSelo; } __classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj); // opcional se considerar IPI no total } tagProdII(index, obj) { if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.II === undefined) __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.II = {}; Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.II[key] = obj[key]; }); __classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj); } tagProdPIS(index, data) { if (!__classPrivateFieldGet(this, _Make_NFe, "f")?.infNFe?.det?.[index]) { throw new Error(`Produto na posição ${index} não existe em infNFe.det`); } if (!__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto = {}; } if (!__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.PIS) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.PIS = {}; } const obj = __classPrivateFieldGet(this, _Make_instances, "m", _Make_equalizePISParameters).call(this, data); let keyXML = ""; let pisItem = {}; switch (obj.CST) { case '01': case '02': keyXML = 'PISAliq'; pisItem = this.generatePISAliq(obj); break; case '03': keyXML = 'PISQtde'; pisItem = this.generatePISQtde(obj); break; case '04': case '05': case '06': case '07': case '08': case '09': keyXML = 'PISNT'; pisItem = this.generatePISNT(obj); break; case '49': case '50': case '51': case '52': case '53': case '54': case '55': case '56': case '60': case '61': case '62': case '63': case '64': case '65': case '66': case '67': case '70': case '71': case '72': case '73': case '74': case '75': case '98': case '99': keyXML = 'PISOutr'; pisItem = this.generatePISOutr(obj); break; default: throw new Error("CST de PIS não identificado!"); } __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.PIS[keyXML] = pisItem; //Calcular ICMSTot __classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj); } tagProdPISST(index, obj) { if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.PISST === undefined) __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.PISST = {}; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.PISST = {}; Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.PISST[key] = obj[key]; }); //Calcular ICMSTot __classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj); } tagProdCOFINS(index, data) { if (!__classPrivateFieldGet(this, _Make_NFe, "f")?.infNFe?.det?.[index]) { throw new Error(`Produto na posição ${index} não existe em infNFe.det`); } if (!__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto = {}; } if (!__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.COFINS) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.COFINS = {}; } const obj = this.equalizeCOFINSParameters(data); let keyXML = ""; let confinsItem = {}; switch (obj.CST) { case '01': case '02': keyXML = 'COFINSAliq'; confinsItem = this.generateCOFINSAliq(obj); break; case '03': keyXML = 'COFINSQtde'; confinsItem = this.generateCOFINSQtde(obj); break; case '04': case '05': case '06': case '07': case '08': case '09': keyXML = 'COFINSNT'; confinsItem = this.generateCOFINSNT(obj); break; case '49': case '50': case '51': case '52': case '53': case '54': case '55': case '56': case '60': case '61': case '62': case '63': case '64': case '65': case '66': case '67': case '70': case '71': case '72': case '73': case '74': case '75': case '98': case '99': keyXML = 'COFINSOutr'; confinsItem = this.generateCOFINSOutr(obj); break; default: throw new Error("CST de COFINS não identificado!"); } __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.COFINS[keyXML] = confinsItem; //Calcular ICMSTot __classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj); } tagProdCOFINSST(index, obj) { if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.COFINS === undefined) __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.COFINS = {}; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.COFINS.COFINSST = {}; Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.PIS.COFINSST[key] = obj[key]; }); //Calcular ICMSTot __classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj); } tagProdISSQN(index, obj) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ISSQN = {}; Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.det[index].imposto.ISSQN[key] = obj[key]; }); //Calcular ICMSTot __classPrivateFieldGet(this, _Make_instances, "m", _Make_calICMSTot).call(this, obj); } tagProdImpostoDevol(index, obj) { throw "Não implementado!"; } tagICMSTot(obj = null) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.total = { ICMSTot: {} }; Object.keys(__classPrivateFieldGet(this, _Make_ICMSTot, "f")).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.total.ICMSTot[key] = (__classPrivateFieldGet(this, _Make_ICMSTot, "f")[key] * 1).toFixed(2); }); __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.total.ICMSTot.vNF = (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.total.ICMSTot.vProd - __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.total.ICMSTot.vDesc).toFixed(2); if (obj != null) { // Substituir campos que deseja Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.total.ICMSTot[key] = obj[key]; }); } } tagISSQNTot(obj) { throw "Não implementado!"; } tagRetTrib(obj) { throw "Não implementado!"; } tagTransp(obj) { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.transp = {}; Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.transp[key] = obj[key]; }); } tagTransporta(obj) { throw "Não implementado!"; } tagRetTransp(obj) { throw "Não implementado!"; } tagVeicTransp(obj) { throw "Não implementado!"; } tagReboque(obj) { throw "Não implementado!"; } tagVagao(obj) { throw "Não implementado!"; } tagBalsa(obj) { throw "Não implementado!"; } tagVol(obj) { throw "Não implementado!"; } tagLacres(obj) { throw "Não implementado!"; } tagFat(obj) { var _a; if (!obj) throw new Error("Parâmetro obrigatório para tagFat está vazio"); const cobr = (_a = __classPrivateFieldGet(this, _Make_NFe, "f").infNFe).cobr ?? (_a.cobr = {}); // Garante que 'cobr' existe const fat = cobr.fat = {}; for (const key of ['nFat', 'vOrig', 'vDesc', 'vLiq']) { if (['vOrig', 'vDesc', 'vLiq'].includes(key)) { fat[key] = Number(obj[key]).toFixed(2); } else { fat[key] = obj[key]; } } return this; } tagDup(lista) { var _a; if (!Array.isArray(lista) || lista.length === 0) { throw new Error("Parâmetro obrigatório para tagDup deve ser uma lista não vazia"); } const cobr = (_a = __classPrivateFieldGet(this, _Make_NFe, "f").infNFe).cobr ?? (_a.cobr = {}); cobr.dup = []; for (const dup of lista) { if (!dup.nDup || !dup.dVenc || !dup.vDup) { throw new Error("Campos obrigatórios em 'dup' ausentes: nDup, dVenc e vDup"); } cobr.dup.push({ nDup: dup.nDup, dVenc: dup.dVenc, vDup: Number(dup.vDup).toFixed(2), }); } return this; } //tagpag() tagTroco(obj) { if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.pag === undefined) __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.pag = {}; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.pag.vTroco = obj; } tagDetPag(obj) { if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.pag === undefined) __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.pag = {}; __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.pag.detPag = obj; } tagIntermed(obj) { throw "Não implementado!"; } tagInfAdic(obj) { if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.infAdic === undefined) __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.infAdic = {}; Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.infAdic[key] = obj[key]; }); } tagObsCont(obj) { throw "Não implementado!"; } tagObsFisco(obj) { throw "Não implementado!"; } tagProcRef(obj) { throw "Não implementado!"; } tagExporta(obj) { throw "Não implementado!"; } tagCompra(obj) { throw "Não implementado!"; } tagCana(obj) { throw "Não implementado!"; } tagforDia() { } tagdeduc() { } taginfNFeSupl() { } tagInfRespTec(obj) { if (__classPrivateFieldGet(this, _Make_NFe, "f").infNFe.infRespTec === undefined) __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.infRespTec = {}; Object.keys(obj).forEach(key => { __classPrivateFieldGet(this, _Make_NFe, "f").infNFe.infRespTec[key] = obj[key]; }); } //Endereço para retirada tagRetiEnder(obj) { throw "Ainda não configurado!"; } //Endereço para entrega tagEntrega(obj) { throw "Ainda não configurado!"; } generateICMS00(obj) { const icms00 = {}; __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms00, 'orig', obj.orig, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms00, 'CST', obj.CST, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms00, 'modBC', obj.modBC, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms00, 'vBC', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vBC), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms00, 'pICMS', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pICMS, 4), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms00, 'vICMS', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vICMS), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms00, 'pFCP', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pFCP, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms00, 'vFCP', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vFCP), false); return icms00; } generateICMS02(obj) { const icms02 = {}; __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms02, 'orig', obj.orig, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms02, 'CST', obj.CST, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms02, 'qBCMono', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.qBCMono, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms02, 'adRemICMS', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.adRemICMS, 4), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms02, 'vICMSMono', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vICMSMono), true); return icms02; } generateICMS10(obj) { const icms10 = {}; __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'orig', obj.orig, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'CST', obj.CST, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'modBC', obj.modBC, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'vBC', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vBC), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'pICMS', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pICMS, 4), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'vICMS', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vICMS), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'modBCST', obj.modBCST, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'pMVAST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pMVAST, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'pRedBCST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pRedBCST, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'vBCST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vBCST), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'pICMSST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pICMSST, 4), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'vICMSST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vICMSST), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'vBCFCP', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vBCFCP), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'pFCP', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pFCP, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'vFCP', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vFCP), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'vBCFCPST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vBCFCPST), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'pFCPST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pFCPST, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'vFCPST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vFCPST), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'vICMSSTDeson', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vICMSSTDeson), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms10, 'motDesICMSST', obj.motDesICMSST, false); return icms10; } generateICMS15(obj) { const icms15 = {}; __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms15, 'orig', obj.orig, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms15, 'CST', obj.CST, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms15, 'qBCMono', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.qBCMono, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms15, 'adRemICMS', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.adRemICMS, 4), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms15, 'vICMSMono', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vICMSMono), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms15, 'qBCMonoReten', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.qBCMonoReten, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms15, 'adRemICMSReten', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.adRemICMSReten, 4), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms15, 'vICMSMonoReten', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vICMSMonoReten), true); if (!obj.pRedAdRem) { __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms15, 'pRedAdRem', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pRedAdRem), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms15, 'motRedAdRem', obj.motRedAdRem, true); } return icms15; } generateICMS20(obj) { const icms20 = {}; __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms20, 'orig', obj.orig, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms20, 'CST', obj.CST, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms20, 'modBC', obj.modBC, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms20, 'pRedBC', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pRedBC, 4), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms20, 'vBC', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vBC), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms20, 'pICMS', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pICMS, 4), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms20, 'vICMS', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vICMS), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms20, 'vBCFCP', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vBCFCP), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms20, 'pFCP', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pFCP, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms20, 'vFCP', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vFCP), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms20, 'vICMSDeson', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vICMSDeson), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms20, 'motDesICMS', obj.motDesICMS, false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms20, 'indDeduzDeson', obj.indDeduzDeson, false); return icms20; } generateICMS30(obj) { const icms30 = {}; __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms30, 'orig', obj.orig, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms30, 'CST', obj.CST, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms30, 'modBCST', obj.modBCST, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms30, 'pMVAST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pMVAST, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms30, 'pRedBCST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pRedBCST, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms30, 'vBCST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vBCST), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms30, 'pICMSST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pICMSST, 4), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms30, 'vICMSST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vICMSST), true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms30, 'vBCFCPST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vBCFCPST), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms30, 'pFCPST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pFCPST, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms30, 'vFCPST', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vFCPST), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms30, 'vICMSDeson', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vICMSDeson), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms30, 'motDesICMS', obj.motDesICMS, false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms30, 'indDeduzDeson', obj.indDeduzDeson, false); return icms30; } generateICMS40(obj) { const icms40 = {}; __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms40, 'orig', obj.orig, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms40, 'CST', obj.CST, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms40, 'vICMSDeson', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vICMSDeson), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms40, 'motDesICMS', obj.motDesICMS, false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms40, 'indDeduzDeson', obj.indDeduzDeson, false); return icms40; } generateICMS51(obj) { const icms51 = {}; __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms51, 'orig', obj.orig, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms51, 'CST', obj.CST, true); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms51, 'modBC', obj.modBC, false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms51, 'pRedBC', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pRedBC, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms51, 'cBenefRBC', obj.cBenefRBC, false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms51, 'vBC', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vBC), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms51, 'pICMS', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pICMS, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms51, 'vICMSOp', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vICMSOp), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms51, 'pDif', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.pDif, 4), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms51, 'vICMSDif', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberFormatting).call(this, obj.vICMSDif), false); __classPrivateFieldGet(this, _Make_instances, "m", _Make_addChildJS).call(this, icms51, 'vICMS', __classPrivateFieldGet(this, _Make_instances, "m", _Make_conditionalNumberForma