Como informar o bloco de partilha no txt? Seria uma linha adicional W03??
A título de curiosidade, como gero TXT e XML dos totais.
Serve pra comparar a geração em TXT e em XML, o fonte fica mais claro e mais fácil de alterar em XML.
Nota: acho que já comentei por aqui que gero os dois ao mesmo tempo TXT e XML.
Código: Selecionar todos
// ---------- (NOTAFISCAL-W02) Totais ICMS
cTxt += "W02" + SPED_SEPARADOR
cTxt += NumberXml( jppedi->pdIcmBas, 2 ) + SPED_SEPARADOR // Base de Calculo do ICMS
cTxt += NumberXml( jppedi->pdIcmVal, 2 ) + SPED_SEPARADOR // Valor Total do ICMS
cTxt += NumberXml( 0.00, 2 ) + SPED_SEPARADOR
IF .F.
cTxt += NumberXml( nTotDifValf, 2 ) + SPED_SEPARADOR
cTxt += NumberXml( nTotDesVal, 2 ) + SPED_SEPARADOR
cTxt += NumberXml( nTotRemVal, 2 ) + SPED_SEPARADOR
ENDIF
cTxt += NumberXml( jppedi->pdSubBas, 2 ) + SPED_SEPARADOR // Valor de Calculo do ICMS ST
cTxt += NumberXml( jppedi->pdSubVal, 2 ) + SPED_SEPARADOR // Valor Total do ICMS ST
cTxt += NumberXml( jppedi->pdValPro, 2 ) + SPED_SEPARADOR // Valor Total dos Produtos e Servicos
cTxt += NumberXml( jppedi->pdValFre, 2 ) + SPED_SEPARADOR // Valor Total do Frete
cTxt += NumberXml( jppedi->pdValSeg, 2 ) + SPED_SEPARADOR // Valor Total do Seguro
cTxt += NumberXml( jppedi->pdValDes, 2 ) + SPED_SEPARADOR // Valor Total do Desconto
cTxt += NumberXml( jppedi->pdIIVal, 2 ) + SPED_SEPARADOR // Valor Total do II
cTxt += NumberXml( jppedi->pdIpiVal, 2 ) + SPED_SEPARADOR // Valor Total do IPI
cTxt += NumberXml( jppedi->pdPisVal, 2 ) + SPED_SEPARADOR // Valor Total do PIS
cTxt += NumberXml( jppedi->pdCofVal, 2 ) + SPED_SEPARADOR // Valor Total do Cofins
cTxt += NumberXml( jppedi->pdValOut, 2 ) + SPED_SEPARADOR // Outras Despesas Acessorias
cTxt += NumberXml( jppedi->pdValNot, 2 ) + SPED_SEPARADOR // Valor Total da NFE
IF jppedi->pdImpVal != 0
cTxt += NumberXml( jppedi->pdImpVal, 2 ) // Total de Impostos
ENDIF
cTxt += SPED_SEPARADOR
cTxt += " "
cTxt += hb_eol()
cXml += [<ICMSTot>]
cXml += XmlTag( "vBC", NumberXml( jppedi->pdIcmBas, 2 ) )
cXml += XmlTag( "vICMS", NumberXml( jppedi->pdIcmVal, 2 ) )
cXml += XmlTag( "vICMSDeson", NumberXml( 0, 2 ) )
IF jppedi->pdDifCal $ "SZ"
cXml += XmlTag( "vFCPUFDest", NumberXml( nTotDifValf, 2 ) )
cXml += XmlTag( "vICMSUFDest", NumberXml( nTotDesVal, 2 ) )
cXml += XmlTag( "vICMSUFRemet", NumberXml( nTotRemVal, 2 ) )
ENDIF
cXml += XmlTag( "vBCST", NumberXml( jppedi->pdSubBas, 2 ) )
cXml += XmlTag( "vST", NumberXml( jppedi->pdSubVal, 2 ) )
cXml += XmlTag( "vProd", NumberXml( jppedi->pdValPro, 2 ) )
cXml += XmlTag( "vFrete", NumberXml( jppedi->pdValFre, 2 ) )
cXml += XmlTag( "vSeg", NumberXml( jppedi->pdValSeg, 2 ) )
cXml += XmlTag( "vDesc", NumberXml( jppedi->pdValDes, 2 ) )
cXml += XmlTag( "vII", NumberXml( jppedi->pdIIVal, 2 ) )
cXml += XmlTag( "vIPI", NumberXml( jppedi->pdIpiVal, 2 ) )
cXml += XmlTag( "vPIS", NumberXml( jppedi->pdPisVal, 2 ) )
cXml += XmlTag( "vCOFINS", NumberXml( jppedi->pdCofVal, 2 ) )
cXml += XmlTag( "vOutro", NumberXml( jppedi->pdValOut, 2 ) )
cXml += XmlTag( "vNF", NumberXml( jppedi->pdValNot, 2 ) )
IF jppedi->pdImpVal != 0
cXml += XmlTag( "vTotTrib", NumberXml( jppedi->pdImpVal, 2 ) )
ENDIF
cXml += [</ICMSTot>]

