Página 2 de 2

Re: Classe para gerar xml nfe/nfce

Enviado: 08 Jul 2026 15:41
por JoséQuintas
Atualmente uso em MySQL, abaixo parcial:

Código: Selecionar todos

...
SET cThisXml := CONCAT( cThisXml,
   '<total>',
   '<ICMSTot>',
   ze_XmlTag( 'vBC',          nIcmBas ),
   ze_XmlTag( 'vICMS',        nIcmVal ),
   ze_XmlTag( 'vICMSDeson',   '0.00' ),
   ze_XmlTag( 'vFCPUFDest',   nDifValf ),
   ze_XmlTag( 'vICMSUFDest',  nDifVali ),
   ze_XmlTag( 'vICMSUFRemet', '0.00' ),
   ze_XmlTag( 'vFCP', '0.00' ),
   ze_XmlTag( 'vBCST',        nSubBas ),
   ze_XmlTag( 'vST',          nSubVal ),
   ze_XmlTag( 'vFCPST', '0.00' ),
   ze_XmlTag( 'vFCPSTRet', '0.00' ),
   IF(  nMonoBas = 0, '',
      CONCAT( ze_XmlTag( 'qBCMonoRet', nMonoBas ),
              ze_XmlTag( 'vICMSMonoRet', ROUND( nMonoBas * nMonoAliq, 2 ) ) ) ),
   ze_XmlTag( 'vProd',        IF( nComplementar = 1, '0.00', nValPro ) ),
   ze_XmlTag( 'vFrete',       nValFre ),
   ze_XmlTag( 'vSeg',         nValSeg ),
   ze_XmlTag( 'vDesc',        nValDes ),
   ze_XmlTag( 'vII',          nIIVal ),
   ze_XmlTag( 'vIPI',         nIpiVal ),
   ze_XmlTag( 'vIPIDevol', '0.00' ),
   ze_XmlTag( 'vPIS',         nPisVal ),
   ze_XmlTag( 'vCOFINS',      nCofVal ),
   ze_XmlTag( 'vOutro',       nValOut ),
   ze_XmlTag( 'vNF',          IF( nComplementar = 1, '0.00', nValNot ) ),
   IF( nImpVal = 0, '', ze_XmlTag( 'vTotTrib',  nImpVal ) ),
   '</ICMSTot>' );
...   
No programa, basta chamar a stored procedure, e ela retorna o XML.
Pode ser harbour, hwgui, fivewin, minigui, python, php, asp, etc, até mesmo linux, android ou outro.