Opa bom dia,
Estou enfrentando um problema logo após atualizar meus componentes (eu estava há mais de um mês sem atualizar). O problema começou quando precisei implementar um novo provedor e, por consequência, realizei a atualização dos componentes (de praxe).
Após isso, todos os provedores pararam de funcionar corretamente.
O primeiro problema que identifiquei foi nesta condição:
if (FormatoDiscriminacao <> fdNenhum) or (NFSe.Servico.ItemServico.Count > 0) then
ConsolidarVariosItensServicosEmUmSo;
Essa condição sempre retorna True, fazendo com que a descrição seja concatenada automaticamente, adicionando uma quebra de linha no início:
xDiscriminacao := xDiscriminacao + FpAOwner.ConfigGeral.QuebradeLinha + ItemServico[i].Descricao;
Vale lembrar que informo apenas 1 item (uma descrição, um valor total e um DPS).
Por isso, a descrição está ficando incorreta, como nos exemplos abaixo:
Exemplo no provedor Betha:
<dps:cServ>
<dps:cTribNac>010101</dps:cTribNac>
<dps:xDescServ>|SERVICO</dps:xDescServ>
</dps:cServ>
Exemplo no provedor Abase:
<cServ>
<cTribNac/>
<xDescServ>\nTESTE DE DESC</xDescServ>
</cServ>
Além disso, eu estava informando o NBS na propriedade: >> Servico.CodigoNBS << Porém, conforme os exemplos acima, o XML do cServ está incompleto e não está gerando o campo do NBS. Não sei se o motivo está relacionado ao problema da descrição (quebra de linha indevida), ou se houve alguma mudança na forma correta de declarar o NBS.
Reforçando que fazia mais de um mês que eu não atualizava os componentes.
SOLUÇÃO
Para Normalizar tive que mudar o (NFSe.Servico.ItemServico.Count > 0) para (NFSe.Servico.ItemServico.Count > 1)
na função
if (FormatoDiscriminacao <> fdNenhum) or (NFSe.Servico.ItemServico.Count > 0) then
ConsolidarVariosItensServicosEmUmSo;
como nao uso formato da Discriminação - FdNenhum como padrão sempre vai entrar, então eu fiz o ajuste e reinstalei os fontes e normalizou
Pois sempre foi padrão ( no meu caso ) usar apenas 1 item para as NFSE eu concateno de forma manual caso o cliente tenha mais de 1 na lista dele;