Olá Pessoal,
A resposta para o título do tópico é muito simples: Sim e Não.
Hoje temos provedores que seguem a versão 1 ou 2 do layout da ABRASF, provedores que tem o seu próprio layout e o layout do Padrão Nacional.
Segundo os manuais da ABRASF (Versão 1 ou 2) bem como do Padrão Nacional não existe a possibilidade de informar 2 ou mais itens, só é possível informar somente um item, portanto não existe uma lista de serviços.
Já os provedores que tem layout próprio alguns permitem outros não.
Como saber se o provedor permite informar mais de um item de serviço?
É muito simples, através do programa exemplo, você o configura para a cidade deseja na aba Emitente, salve a configuração, clique no botão [Informações sobre o Provedor] que esta na aba Geral.
Do lado direito temos uma aba chamada Log, vai ser apresentado as informações sobre o provedor que atende a cidade que foi configurada, informações estas como Autenticação, Serviços Disponibilizados e Particularidades.
Em Particularidades se aparecer escrito: Permite mais de um serviço, isso significa que o provedor permite que você informe um ou mais itens de serviços.
Como faço para informar mais de um item caso o provedor permita?
with Servico.ItemServico.New do
begin
Descricao := 'Desc. do Serv. 1';
ItemListaServico := '09.01';
Quantidade := 10;
ValorUnitario := 5;
(...)
end;
with Servico.ItemServico.New do
begin
Descricao := 'Desc. do Serv. 2';
ItemListaServico := '09.01';
Quantidade := 1;
ValorUnitario := 15;
(...)
end;
Vide o programa exemplo do componente ACBrNFSeX para ver os demais campos que podem ser informados além dos 4 mostrados nesse exemplo acima. Mais precisamente procure pela procedure: Alimentar_Componente_layout_Proprio.
Então quer dizer que se o provedor que atende a cidade para o qual a NFS-e vai ser emitida não permite não tem como?
A resposta é: a principio não tem como, mas o componente ACBrNFSeX vai dar uma mãozinha para você.
Como eu faço para enviar uma lista de itens de serviço se o provedor não permite?
1. Você vai informar todos os itens conforme mostrado acima;
2. Configure a propriedade de configuração FormatoDiscriminacao com um dos valores: fdJson ou fdTabulado (vide figura abaixo)
Essa propriedade tem os seguintes valores:
fdNenhum = Valor padrão da propriedade e faz com que o componente não execute nenhuma ação referente a lista de itens.
fdConsolidado = o componente vai totalizar os valores e quantidades e concatenar as descrições dos itens e popular os campos padrões usados pelo provedor para as informações tais como Discriminacao, valor, etc.
fdJson = o componente vai montar um Json com as informações (Descrição, Valor Unitário, Quantidade e Valor do Serviço) dos itens e popular o campos padrões usados pelo provedor.
fdTabulado = o componente vai montar uma Tabela com as informações (Descrição, Código do Item, Quantidade, Valor Unitário, Valor do Serviço, Base de Calculo e Alíquota) dos itens e popular o campos padrões usados pelo provedor.
Desta forma ao imprimir o DANFSE no quadro: Discriminação do Serviço em vez de aparecer um texto, vai aparecer a lista dos itens.
Espero que tenham gostado dessa dica.