Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Prezado Pedro, obrigado pelo apoio.

 

Voce, ou mais alguém, pode me ajudar DESENVOLVENDO ? 

Caso positivo, me mandem email ([email protected])

 

Em que ponto eu estou:

- troquei todo o envelope SOAP, e já estou conseguindo alguma comunicação.

- neste momento, estou trabalhando "contra" a validação do XSD, ou seja, envio um XML para a prefeitura mas o WS não aceita

- neste exato momento, estou tentando consertar a tag ASSINATURA, do RPS.

 

Como o componente está gerando:

	<Lote Id="lote:1">
		<RPS Id="rps:1">
			<Assinatura>K6o %U we"E TV</Assinatura>

Só que, a ASSINATURA , uma sequencia de 20 caracteres, não deve ser enviada como uma STRING, é para ser enviada como uma sequencia de 20 caracteres em HEXADECIMAL, exemplo:

<Assinatura>ddc88256d384180cbaceba676694208ea5750669</Assinatura>

O pacote ABCR é muito completo, é muito provável que já existe alguma implementação que converta esta string de 20 caracteres para sua representação hexadecimal. Alguém do Forum mais experiente no pacotes ACBR, sabe me informar qual classe/método ?

 

abraço a todos

 

Wilker

Postado

Pessoal, boa tarde.

 

Fiz muitas modificações, e eu acredito ter vencido a 1a parte, enviei uma mensagem ao WS e tive um retorno, ou seja, venci a etapa da comunicação.

 

Gostaria que algum administrador do ACBR me procurasse por email , pois gostaria de compartilhar o código que eu fiz nos componente.

 

Situação atual:

- comunicação: EnvioLoteRPS: comunicação WS efetuada com sucesso.

- dados: trabalhando agora no conteúdo para que a NFSe seja de fato gerada

 

atenciosamente

 

Wilker

  • Moderadores
Postado

Pessoal, boa tarde.

 

Fiz muitas modificações, e eu acredito ter vencido a 1a parte, enviei uma mensagem ao WS e tive um retorno, ou seja, venci a etapa da comunicação.

 

Gostaria que algum administrador do ACBR me procurasse por email , pois gostaria de compartilhar o código que eu fiz nos componente.

 

Situação atual:

- comunicação: EnvioLoteRPS: comunicação WS efetuada com sucesso.

- dados: trabalhando agora no conteúdo para que a NFSe seja de fato gerada

 

atenciosamente

 

Wilker

Boa tarde

Não entendi??

tem alguma contribuição para o ACBr, compacte os arquivos alterados e anexe ao post aqui no fórum que será avaliado!

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

Prezado Juliomar, obrigado pelo contato.

 

SIM, eu fiz muitas modificações no IssDsf para que eu conseguisse fazer comunicação com o WS de Belém do Pará.

 

Faço um resumo agora do que eu fiz, no post seguinte eu anexo os fontes.

* pcnConversão.pas

- adicionei função StrtoHex, para converter uma sequencia de caracteres à sua respectiva representação em Hexa.

- usado na tag <assinatura> do RPS

 

* pnfsNFSeW.pas

- no XML deste provedor, os <Itens> são filhos da tag <Item>

- tag <RPS> em maiusculo, exigencia do provedor

- informação IdentificacaoRps não é usada na assinatura do RPS (manual Webservice.pdf, página 9 do pdf)

- Na assinatura, TipoRecolhimento troca A por N (somente na assinatura do RPS)

- NFSe.Tomador.IdentificacaoTomador.CpfCnpj é usado no cálculo da assinatura

- Assinatura em letra minuscula, caracteres representados pelo seu Hexa

- tag <Serie> trocada para <SerieRPS>

- tag <DataEmissaoRPS> sem hora, apenas data

- inclusao de algumas tags obrigatorias, mesmo quando vazias

 

* ACBrProvedorISSDSF

- varias mudancas no envelopamento SOAP

- IMPORTANTE: coloquei vários StringReplace , temporários, apenas para validar o XML 

- o XML, enviado como campo string no Soap, envia &lt; e &gt; no lugar do < e >

 

* ACBrNFSeWebServices

- InternetSetOption deixou de ser chamado para este provedor, pois lançava uma exception

- mudei o ContentType para text/xml , mas depois vou testar sem esta modificação

- mudancas no namespace do XML

 

* Arquivo ACBrNFSeUtil.pas:

- método: AssinarMSXML , 

 

* Arquivos relacionados ao DANFE:

- como não tenho o QR instalado, comentei para evitar erros de compilação.

 

* IMPORTANTE:

- Existem algumas modificações que talvez eu desfaça, fiz na intenção de fazer comunicar. Agora que está comunicando devo desfazer aos poucos

- O envio é Assincrono, logo o fato de eu ter conseguido enviar um XML não significa dizer que ele vá ser de fato convertido em NFSe, meu próximo passo agora é testar o método de consulta.

- Ao consultar a NFSe, é provável que eu encontre erros no RPS, que gerem novas modificações.

 

espero ter contribuido para o projeto

 

grande abraco a todos.

Postado

Bom dia Juliomar.

 

Segue anexo.

IMPORTANTE: 

- eu ainda não terminei o desenvolvimento, estou enviando as modificações pois gostaria de compartilhar com o projeto

- no fonte existem comentários, códigos de debug e algumas modificações que talvez sejam removidas

- mesmo assim, gostaria que desse uma olhada para validar o que eu fiz, quanto à estrutura geral das classes ACBr.

 

abraço a todos

 

Modificações.rar

Postado (editado)

E ai galera, bom dia;

Mais um aqui enfrentando o mesmo problema da "Required white spece was missing" / "Erro onBeforePost: Autorização do cliente não está configurado neste computador")  para Campo Grande/MS (provedor DSF).

 

Alguém ai achou uma solução?

 

----------------------------------

Numero do Lote:

Recebimento....:

Protocolo..........:

Provedor..........: IssDFS

---------------------------------

 

Obs:

Verifiquei que no xml a tag <CodCidade></CodCidade> e <RazaoSocialRemetente></RazaoSocialRemetente> esta vindo vazia;

Há uma função no pnfsNFSeG.pas chamada Gera_DadosMsgEnviarLoteDSF, onde preenche estes dados, e realmento a variavel está vazia.

Voces perceberam isto ou é só comigo?

Editado por Fernando Leite Barreto
  • 4 meses depois ...
Postado

Olá pessoal estou tentando fazer o demo do Acbr NFSe para a prefeitura de Uberlândia padrão "DSF"  pelo o que eu percebi nada funciona, aparentemente pelo o que eu acompanhei sobre o assunto no fórum apesar de ser um padrão a nível de ACBR cada prefeitura está com um problema diferente do outro, corrijam minha ignorância apesar de eu  trabalhar com Delphi a quase 14 anos, todo mundo tá cheio de problemas cada um adapta as rotinas de forma a atender as suas necessidades ou seja da prefeitura que quer implantar pois tem chefe cobrando etc e tal como fica a confiabilidade do código será a prefeitura que eu estou tentando implantar não está funcionando por que alguém adaptou o código para a prefeitura tal e fez a prefeitura de Uberlândia parar de funcionar, implantar o DSF tá muito complicado desse jeito vai ter ao invés de ter o provedor ACBRProvedorISSDSF vai ter que existir o ACBRProvedorUberlandia ACBRProvedorCampinas etc se tiver alguém que possa esclarecer isso vou agradecer muito e continuar usando o ACBR pois aqui na empresa a coisa está estourando para o meu lado;

Postado

Aleluia achei que só eu tava tendo problemas com a DSF, 

bom galera estou quebrando a cabeça e todas estas questões levantadas por vocês eu já arrumei,  já enviei para o Italo e ele colocou no svn entao e so atualizar os fontes, agora estou com outros erros que se alguém quiser podemos fazer esta empreitada juntos, arrumei um amigo aqui em Campo Grande-MS e estamos tentando resolver os problemas da DSF mas qualquer ajuda eu agradeço

 

qualquer coisa entrem em contato com 

[email protected]

Postado

Wilker

 

O bicho ta pegando pro meu lado tb, fiz algumas modificacoes no componente e tenho subido para o italo incluir no componente e ele tem feito, mas tem erros que estou quebrando a cabeça aqui e vi que vc ja resolveu, tem como enviar para eu sair deste problema? estou com problema exatamente na historia da assinatura, com o exadecimal, parei neste ponto, 

 

se possivel tem como subir estas alteracoes para o Italo

e o dropbox que vc colocou aqui nao mostra nada 

 

qualquer coisa manda no meu email

[email protected]

 

Postado

Olá Rafael, eu atualizei e instalei o acbr novamente e nada funciona pelo menos para Uberlândia, será que cada prefeitura tem algum detalhe? eu dou muito crédito ao seu esforço mas o que me deixa preocupado é que como você mesmo disse que fez várias modificações no provedor e apenas está gerando e validando o lote, ainda tem a parte do envio o da resposta do envio da consulta de situação que pelo o que eu percebi no exemplo da dll não existe agente vai ter que consumir apenas a consulta de lote rps ainda tem que fazer o leitor das notas funcionar, estes fatos que me deixam na dúvida se eu devo insistir no acbr pelo menos no DSF pois os outros provedes eu fiz funcionar.

Postado

Este provedor é complicado pois eu fiz teste e ele envia e consulta o lote normalmente, mas o mesmo não tem homologação para fazer testes melhores.

Agora sobre ler a RPS ou NFSe isto é facil o problema ta mas na parte do envio pois para testar basicamente preciso emitir uma nfse e como eu não utilizo o pascal, e nem tenho o certificado fica complicado, por isto pedi um retorno se pelo menos o envio e a consulta funciona para poder continuar com o resto, o provedor ainda não esta 100% implementado, mas cheguei em um ponto q preciso de teste para poder continuar.

 

Postado

Pessoal, bom dia.

Por favor, avaliem os fontes que eu enviei acima.

 

Até onde eu fui:

- consegui gerar e enviar para o webservice de producao , usando um certificado válido e em ambiente de producao

- eu recebia mensagem de erro que o prestador não estava autorizado para emitir via lote.

 

Onde parei:

- meu cliente fez o pedido de alteração no seu credenciamento junto à prefeitura, para permitir o envio via lote. Infelizmente esta prefeitura demora entre 60 e 90 dias para fazer esta alteração. (OBS: Em Fortaleza fez em 3 dias). 

 

- Minha área fim é automação industrial, logo eu abandonei o desenvolvimento da NFSe, e fiz a integração com um sistema financeiro/contábil que faz a emissão da NFSe

 

O que eu recomendo:

- eu evolui muito, avaliem os fontes que eu anexei neste post.

 

Ultimo retorno obtido:

- <ns1:RetornoConsultaLote xmlns:ns1="http://localhost:8080/WsNFe2/lote" xmlns:tipos="http://localhost:8080/WsNFe2/tp" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://localhost:8080/WsNFe2/lote http://localhost:8080/WsNFe2/xsd/RetornoConsultaLote.xsd">
- <Cabecalho>
  <CodCidade>0427</CodCidade> 
  <Sucesso>false</Sucesso> 
  <NumeroLote>26124556</NumeroLote> 
  <CPFCNPJRemetente>xxxxxxx</CPFCNPJRemetente> 
  <RazaoSocialRemetente>xxxxxx</RazaoSocialRemetente> 
  <DataEnvioLote>2014-04-15T11:15:00</DataEnvioLote> 
  <QtdNotasProcessadas>0</QtdNotasProcessadas> 
  <TempoProcessamento>0</TempoProcessamento> 
  <ValorTotalServicos>1</ValorTotalServicos> 
  <ValorTotalDeducoes>0</ValorTotalDeducoes> 
  <Versao>1</Versao> 
  </Cabecalho>
  <Alertas /> 
- <Erros>
- <Erro>
  <Codigo>1433</Codigo> 
  <Descricao>Contribuinte nao credenciado para o metodo de integracao com a NFSe utilizado. Contribuinte credenciado para emitir NFS-e pelo site, para possibilitar a entrega em Lote deve ser solicitado junto a prefeitura a alteracao no credenciamento para habilitar entrega em lote.</Descricao> 
- <ChaveRPS>
  <InscricaoPrestador>xxxx</InscricaoPrestador> 
  <SerieRPS>NF</SerieRPS> 
  <NumeroRPS>1</NumeroRPS> 
  <DataEmissaoRPS>2014-04-15T12:00:00</DataEmissaoRPS> 
  <RazaoSocialPrestador>xxxxxx</RazaoSocialPrestador> 
  </ChaveRPS>
  </Erro>
  </Erros>
  <ListaNFSe /> 
  </ns1:RetornoConsultaLote>

abs a todos

Postado

Fiz o update e estou comparando as modificações, queria passar algumas dicas:

 

TIPO DE RECOLHIMENTO

 

Em: pnfsNFSeW.pas, está:

      sTipoRecolhimentoAssinaturaRPS := EnumeradoToStr( NFSe.Servico.Valores.IssRetido,
                                           ['N','S'],
                                           [stNormal, stRetencao]);
 

Porém, eu mudei para o codigo abaixo:

      sTipoRecolhimentoAssinaturaRPS := EnumeradoToStr( NFSe.Servico.Valores.IssRetido,
                                           ['N','R'],
                                           [stNormal, stRetencao]);
 

Motivo: embora a documentação diga que "07 - Tipo Recolhimento, se for “A” preenche com “N” senão “S”" , ao enviar para Belém ele não aceitou o valor S, só aceitou o valor R de retenção.

 

 

ASSINATURA

Onde tem:

      sAssinatura := LowerCase(sAssinatura);

Eu usei:

      sAssinatura:=LowerCase(StrToHex(sAssinatura));

 

Pois no caso de Belém, segundo a documentação , a assinatura deve ser convertida para hexadecimal. Lembre-se que eu enviei para Belém, com um certificado válido, e eles identificaram corretamente o prestador.

 

LEITOR XML, em ACBrNFSeWebServices.pas

Onte tem:

    if (FProvedor = proEquiplano)
     then NFSeRetorno.LerXML_provedorEquiplano
    else NFSeRetorno.LerXml;
 
Eu adicionei:
    else if (FProvedor = proIssDSF)
     then NFSeRetorno.LerXml_provedorIssDsf
 
Motivo, como o retorno do WS do IssDsf é diferente, eu criei um novo leitor para interpretar o retorno.
 
 
abraco
 
 
Postado

Olá Rafael quando você disse que não utiliza o "pascal" você quer dizer que não está fazendo as alterações no componente para o delphi. é isso? as alterações que você fez foi para que linguagem?

Postado

Quando digo isso é que eu não programo em pascal como minha linguagem principal, eu programo em c#.

As alterações foram feitas no código em pascal, no componente ACBrNFSe, mas no momento eu preciso de feedback de vocês para poder continuar a implementação, ou vcs aguardem eu ter tempo e o certificado para continuar.

 

  • 3 meses depois ...
Postado

Boa tarde pessoal;

Qual método vocês estão usando para consultar se a nota foi processada para o provedor ISSDSF?

Vi que no manual tem o método consultar lote, porém qual tag vai me dar se esta nota foi processada ou não?

Agradeço a colaboração.

Atenciosamente

Caetano

'Juntos podemos mais'

  • Consultores
Postado

Boa tarde Caetano,

 

O componente ACBrNFSe possui uma function chamada:

 

    function ConsultarSequencialRPS(ACidade, ACnpj, AInscricaoMunicipal, ASeriePrestacao: String):Boolean;
 
Se não me falha a memória ela foi criada especialmente para esse provedor.
 
Configure o componente para salvar os XMLs em disco e execute a função acima e depois abra o XML de retorno através do navegador e veja se existe a informação desejada.
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • 3 meses depois ...
  • 3 meses depois ...
  • Este tópico foi criado há 2114 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.