Boa tarde,
Ontem atualizamos os componentes (ambiente delphi 7) e não conseguimos mais transmitir em SP notas fiscais com CST 051 com 100% de diferimento (CFOP 5125). O erro acontecia na tag <vICMS>0.00</vICMS> gerado no XML, a mensagem de erro era:
'0.00' violates pattern constraint of '0\.[0-9]-{1}[1-9]{1}|0\.[1-9]{1}[0-9]{1}|[1-9]{1}[0-9]{0,12}(\.[0-9]{2})?'. The element '{http://www.portalfiscal.inf.br/nfe}vICMS' with value '0.00' failed to parse.
Para resolver incluimos provisoriamente um IF na unit pcnNFeW.pas antes da linha 1301 e conseguimos transmitir.
Abaixo como ficou a geração da tag condicionada:
if (nfe.Det.Imposto.ICMS.vICMS > 0) or (nfe.Det.Imposto.ICMS.pDif > 0) then //<===== linha provisoriamente acrescentada
Gerador.wCampo(tcDe2, 'N17', 'vICMS ', 01, 15, 1, nfe.Det.Imposto.ICMS.vICMS, DSC_VICMS);
Por favor, não sabemos se fizemos correto ou se existe alguma regra fiscal que impeça o uso de CST 051 com CFOP 5125 (não fizemos o teste com CFOP 5124).
Anexo unit alterada para avaliação.
Grato
Delfino
pcnNFeW.pas