Ir para conteúdo
  • Cadastre-se

dev botao
  • Este tópico foi criado há 3685 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado (editado)

Boa tarde pessoal

Primeiro gostaria de parabenizar todo o pessoal envolvido na criação e desenvolvimento desse componente, é realmente uma maravilha.

Agora vem minha dúvida

Na cidade onde estou implementando o sistema (Erechim/RS - SystemPro) a nota requer a discriminação individual dos itens de serviços, ou seja, mais de uma discriminação.

 

Como eu pego o número de serviços lidos a partir de um XML já gerado?

Estava tentando com NFSe.NotasFiscais.Items[0].NFSe.Servico.ItemServico.Count, mas sempre retorna 0

 

É possível pegar o número de serviços pra mim usar em um laço while?

 

 

Desde já agradeço...

post-26709-0-03679800-1413392405_thumb.j

Editado por Márcio Santos Oliveira
Postado (editado)

A princípio sim

Eu tenho várias NFSe aqui e todas vem discriminado o serviço...

Vou anexar umas aqui para melhorar a explicação...

 

Ali onde tem "FUNDACAO" seriam mais serviços discriminados...

Eu até conseguiria fazer trazendo do banco de dados mas acho que não é a maneira correta, o certo seria imprimir do XML né?

 

 

Qualquer coisa eu entro em contato com o provedor

Editado por Márcio Santos Oliveira
Postado

Opa

Valeu Agnaldo, eu tinha visto esse link ontem a tarde

 

Pelo que eu entendi você traz do banco os itens da NFSe, né?

 

Eu queria uma maneira que fosse lido do XML e guardasse numa lista ou vetor...

 

Se for pelo banco eu até ja consegui, mas não sei se é o certo

 

Mesmo assim, obrigado.

Postado (editado)

Beleza Juliomar

Eu até tentei botar um DBGrid associado ao cdsServicos da unit "ACBrNFSeDANFSeFRDM.pas"  dos servicos , e ele está sempre vazio

 

Onde ele deveria concatenar?

Na hora da leitura do XML ou da gravação?

Editado por Márcio Santos Oliveira
  • Curtir 1
Postado

Bom dia.

Como o Juliomar disse, eu faço a leitura no banco e concateno jogando este dado no Rps, no retorno a leitura deve ser conforme:

 

No XML retornado pela prefeitura procure a tag "DeclaracaoPrestacaoServico", dentro dela a subtag "Servico", ai você vai encontrar a "Discriminacao". Basta pegar os dados nela.

 

Att.

_____________

Prates, Agnaldo

Postado (editado)

Bom dia Agnaldo.

Essa procura da tag eu tenho como fazer via código pelo objeto NFSe que eu já tenho instanciado?

 

Olhando na unit pnfsNFSeR tem o seguinte código onde carrega do XML os serviços:

 

 if (Leitor.rExtrai(3, 'Servico') <> '') or (Leitor.rExtrai(2, 'Servico') <> '')
    then begin
     NFSe.Servico.ItemListaServico          := DFeUtil.LimpaNumero(Leitor.rCampo(tcStr, 'ItemListaServico'));

     // ALTERTADO POR TÚLIO DAPPER EM 25/03
     NFSe.Servico.CodigoCnae                := Leitor.rCampo(tcStr, 'CodigoCnae');

     NFSe.Servico.CodigoTributacaoMunicipio := Leitor.rCampo(tcStr, 'CodigoTributacaoMunicipio');
     NFSe.Servico.Discriminacao             := Leitor.rCampo(tcStr, 'Discriminacao');
     NFSe.Servico.Descricao                 := '';

 

Acho que é aí que eu teria que fazer com que jogasse em um array os serviços...
 

 

Obs: estou anexando mais uma imagem de como funciona a NFSe aqui na minha cidade (Erechim/RS)

post-26709-0-96972300-1413466420_thumb.j

Editado por Márcio Santos Oliveira
Postado

Pessoal

Podem colocar o tópico como resolvido

Consegui o que queria fazendo uma leitura manual do xml da NFSe e alterando alguns clientdatasets

 

Mais tarde eu venho a colocar as alterações, acho que ajudaria muita gente

  • Este tópico foi criado há 3685 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.