Boa tarde !,
Para mim aqui surgiu um problema semelhante, nas tags de ICMS10.
para os campos ID:N16 e N19. pelo que detectei o problema está no numero de casas decimais que o componente está formatando estes campos 4 casas decimais, desta forma ultrapassa o tamanho do campo no shema.conforme o manual de orientação da NF-e v5.0, os campos deveriam ser de apenas 2 casas decimais. Observei também que isso repete-se para as outras situações tributarias com relação a Substituição tributaria.
Favor verificar !!..
==========================================
Localizei o problema na Unit pcnNFW.pas,
Após ter feito a alteração sugerida abaixo, validou perfeitamente a NF-e.
na procedure TNFeW.GerarDetImpostoICMS(const i: integer);
Gerador.wGrupo('ICMS', 'N01');
case nfe.Emit.CRT of
crtRegimeNormal, crtSimplesExcessoReceita :
begin
if (nfe.Det.Imposto.ICMS.CST = cst41) and //Ajuste para funcionar no ACBrNFeMonitor
((nfe.Det.Imposto.ICMS.vBCSTRet <> 0) or //Qdo passar CST 41 e algum campo de repasse de ICMS ST
(nfe.Det.Imposto.ICMS.vICMSSTRet <> 0) or //estiver preenchido será trocado o cst para cstRep41
(nfe.Det.Imposto.ICMS.vBCSTDest <> 0) or
(nfe.Det.Imposto.ICMS.vICMSSTDest <> 0)) then
nfe.Det.Imposto.ICMS.CST := cstRep41;
if (nfe.Det.Imposto.ICMS.CST = cst10) and //Ajuste para funcionar no ACBrNFeMonitor
((nfe.Det.Imposto.ICMS.UFST <> '') or //Qdo passar CST 10 e algum campo de partilha de ICMS ST
(nfe.Det.Imposto.ICMS.pBCOp <> 0)) then //estiver preenchido será trocado o cst para cstPart10
nfe.Det.Imposto.ICMS.CST := cstPart10;
if (nfe.Det.Imposto.ICMS.CST = cst90) and //Ajuste para funcionar no ACBrNFeMonitor
((nfe.Det.Imposto.ICMS.UFST <> '') or //Qdo passar CST 90 e algum campo de partilha de ICMS ST
(nfe.Det.Imposto.ICMS.pBCOp <> 0)) then //estiver preenchido será trocado o cst para cstPart90
nfe.Det.Imposto.ICMS.CST := cstPart90;
sTagTemp := BuscaTag( nfe.Det.Imposto.ICMS.CST );
Gerador.wGrupo('ICMS' + sTagTemp, 'N' + CSTICMSTOStrTagPos(nfe.Det.Imposto.ICMS.CST));
Gerador.wCampo(tcStr, 'N11', 'orig ', 01, 01, 1, OrigTOStr(nfe.Det.Imposto.ICMS.orig), DSC_ORIG);
Gerador.wCampo(tcStr, 'N12', 'CST ', 02, 02, 1, CSTICMSTOStr(nfe.Det.Imposto.ICMS.CST), DSC_CST);
case nfe.Det.Imposto.ICMS.CST of
cst00 :
begin
Gerador.wCampo(tcStr, 'N13', 'modBC ', 01, 01, 1, modBCToStr(nfe.Det.Imposto.ICMS.modBC), DSC_MODBC);
Gerador.wCampo(tcDe2, 'N15', 'vBC ', 01, 15, 1, nfe.Det.Imposto.ICMS.vBC, DSC_VBC);
Gerador.wCampo(tcDe4, 'N16', 'pICMS ', 01, 05, 1, nfe.Det.Imposto.ICMS.pICMS, DSC_PICMS);
Gerador.wCampo(tcDe2, 'N17', 'vICMS ', 01, 15, 1, nfe.Det.Imposto.ICMS.vICMS, DSC_VICMS);
end;
cst10,
cstPart10 :
begin
Gerador.wCampo(tcStr, 'N13', 'modBC ', 01, 01, 1, modBCToStr(nfe.Det.Imposto.ICMS.modBC), DSC_MODBC);
Gerador.wCampo(tcDe2, 'N15', 'vBC ', 01, 15, 1, nfe.Det.Imposto.ICMS.vBC, DSC_VBC);
if (nfe.Det.Imposto.ICMS.UFST <> '') or
(nfe.Det.Imposto.ICMS.pBCOp <> 0) or
(nfe.Det.Imposto.ICMS.CST = cstPart10) then
Gerador.wCampo(tcDe4, 'N14', 'pRedBC ', 01, 05, 0, nfe.Det.Imposto.ICMS.pRedBC, DSC_PREDBC);
// Alterado por Léo
Gerador.wCampo(tcDe2, 'N16', 'pICMS ', 01, 05, 1, nfe.Det.Imposto.ICMS.pICMS, DSC_PICMS);
// Gerador.wCampo(tcDe4, 'N16', 'pICMS ', 01, 05, 1, nfe.Det.Imposto.ICMS.pICMS, DSC_PICMS);
Gerador.wCampo(tcDe2, 'N17', 'vICMS ', 01, 15, 1, nfe.Det.Imposto.ICMS.vICMS, DSC_VICMS);
Gerador.wCampo(tcStr, 'N18', 'modBCST ', 01, 01, 1, modBCSTToStr(nfe.Det.Imposto.ICMS.modBCST), DSC_MODBCST);
// Alterado por Léo
Gerador.wCampo(tcDe2, 'N19', 'pMVAST ', 01, 05, 0, nfe.Det.Imposto.ICMS.pMVAST, DSC_PMVAST);
Gerador.wCampo(tcDe2, 'N20', 'pRedBCST', 01, 05, 0, nfe.Det.Imposto.ICMS.pRedBCST, DSC_PREDBCST);
// Gerador.wCampo(tcDe4, 'N19', 'pMVAST ', 01, 05, 0, nfe.Det.Imposto.ICMS.pMVAST, DSC_PMVAST);
// Gerador.wCampo(tcDe4, 'N20', 'pRedBCST', 01, 05, 0, nfe.Det.Imposto.ICMS.pRedBCST, DSC_PREDBCST);
Gerador.wCampo(tcDe2, 'N21', 'vBCST ', 01, 15, 1, nfe.Det.Imposto.ICMS.vBCST, DSC_VBCST);
// Alterado por Léo
Gerador.wCampo(tcDe2, 'N22', 'pICMSST ', 01, 05, 1, nfe.Det.Imposto.ICMS.pICMSST, DSC_PICMSST);
// Gerador.wCampo(tcDe4, 'N22', 'pICMSST ', 01, 05, 1, nfe.Det.Imposto.ICMS.pICMSST, DSC_PICMSST);
Att.
Léo