Bom dia
Na emissão para São Bernardo do Campo estava recebendo a mensagem "Item de servico nao permite deducoes".
Precisei alterar o arquivo pnfsNFSeW.pas, na procedure GerarServicoValores_V1, porque a tag de deduções não deve ser passada mesmo se o valor estiver zerado.
if FProvedor in [proRecife, proFreire]
then begin
Gerador.wCampoNFSe(tcDe2, '#14', 'ValorDeducoes', 01, 15, 1, NFSe.Servico.Valores.ValorDeducoes, '');
Gerador.wCampoNFSe(tcDe2, '#15', 'ValorPis ', 01, 15, 1, NFSe.Servico.Valores.ValorPis, '');
Gerador.wCampoNFSe(tcDe2, '#16', 'ValorCofins ', 01, 15, 1, NFSe.Servico.Valores.ValorCofins, '');
Gerador.wCampoNFSe(tcDe2, '#17', 'ValorInss ', 01, 15, 1, NFSe.Servico.Valores.ValorInss, '');
Gerador.wCampoNFSe(tcDe2, '#18', 'ValorIr ', 01, 15, 1, NFSe.Servico.Valores.ValorIr, '');
Gerador.wCampoNFSe(tcDe2, '#19', 'ValorCsll ', 01, 15, 1, NFSe.Servico.Valores.ValorCsll, '');
Gerador.wCampoNFSe(tcStr, '#20', 'IssRetido ', 01, 01, 1, SituacaoTributariaToStr(NFSe.Servico.Valores.IssRetido), '');
Gerador.wCampoNFSe(tcDe2, '#21', 'ValorIss ', 01, 15, 1, NFSe.Servico.Valores.ValorIss, '');
end
else begin
Gerador.wCampoNFSe(tcDe2, '#14', 'ValorDeducoes', 01, 15, 0, NFSe.Servico.Valores.ValorDeducoes, '');
Gerador.wCampoNFSe(tcDe2, '#15', 'ValorPis ', 01, 15, 0, NFSe.Servico.Valores.ValorPis, '');
Gerador.wCampoNFSe(tcDe2, '#16', 'ValorCofins ', 01, 15, 0, NFSe.Servico.Valores.ValorCofins, '');
Gerador.wCampoNFSe(tcDe2, '#17', 'ValorInss ', 01, 15, 0, NFSe.Servico.Valores.ValorInss, '');
Gerador.wCampoNFSe(tcDe2, '#18', 'ValorIr ', 01, 15, 0, NFSe.Servico.Valores.ValorIr, '');
Gerador.wCampoNFSe(tcDe2, '#19', 'ValorCsll ', 01, 15, 0, NFSe.Servico.Valores.ValorCsll, '');
Gerador.wCampoNFSe(tcStr, '#20', 'IssRetido ', 01, 01, 1, SituacaoTributariaToStr(NFSe.Servico.Valores.IssRetido), '');
Gerador.wCampoNFSe(tcDe2, '#21', 'ValorIss ', 01, 15, 0, NFSe.Servico.Valores.ValorIss, '');
end;