Clipper On Line • Ver Tópico - Pra quem ainda não resolveu NFE/CTE/MDFE

Pra quem ainda não resolveu NFE/CTE/MDFE

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Pra quem ainda não resolveu NFE/CTE/MDFE

Mensagempor JoséQuintas » 11 Nov 2016 19:20

Ao postar notei um erro, esta linha:

IF ( nPos := AScan( aSoapList, { | oElement | oElement[ 1 ] == ::cUF .AND. oElement[ 2 ] == nWsServico } ) ) != 0


não é ==, e sim $, porque não se trata de uma UF, e sim uma lista de UFs.

Nota:
Esta alteração salvei hoje no git, e como uso SPaulo, acabou não me afetando, a não ser quando fosse consultar nota de alguma UF da lista que iria falhar.
O post acabou me ajudando a corrigir um erro antes que acontecesse....

Como sempre digo: "enxergar o que está na frente do nariz", vi que estava errado quando postei... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Pra quem ainda não resolveu NFE/CTE/MDFE

Mensagempor JoséQuintas » 11 Nov 2016 19:35

   IF ( nPos := AScan( aSoapList, { | oElement | ::cUF $ oElement[ 1 ] .AND. oElement[ 2 ] == nWsServico } ) ) != 0
      ::cProjeto     := aSoapList[ nPos, 3 ]
      ::cSoapAction  := aSoapList[ nPos, 4 ]
      ::cSoapService := aSoapList[ nPos, 5 ]
   ELSEIF ( nPos := AScan( aSoapList, { | oElement | oElement[ 1 ] == "**" .AND. oElement[ 2 ] == nWsServico } ) ) != 0
      ::cProjeto     := aSoapList[ nPos, 3 ]
      ::cSoapAction  := aSoapList[ nPos, 4 ]
      ::cSoapService := aSoapList[ nPos, 5 ]
   ENDIF


Até daria pra reduzir pra uma única comparação, desde que eu não erre a ordem da lista.
Mais seguro deixar assim mesmo.

Mas confirmando o que realmente AScan() faz nesse caso, poderia ser:

AScan( ... ( ::cUF $ oElement[ 1 ] .OR. oEleent[ 1 ] == "**" ) .AND. oElement[ 2 ] == nWsServico }


Pegaria o primeiro (ou último) que atenda a condição, seja especifico ou geral.
Reduz fonte, mas pode facilitar erro, se errar na ordem do array.

Nota: novamente enxerguei o que estava na frente do nariz, precisou inverter a ordem na comparação "$".
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Pra quem ainda não resolveu NFE/CTE/MDFE

Mensagempor JoséQuintas » 11 Nov 2016 19:39

José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Pra quem ainda não resolveu NFE/CTE/MDFE

Mensagempor JoséQuintas » 11 Nov 2016 20:06

Então podemos retomar o assunto em um tópico q já existe sobre isto pq o deste tópico acredito q ficou ok.


Na prática, acho que no subtópico acabou ficando meio escondido, e não chama a atenção sobre postagens novas.

A classe.....
Não tem nada diferente, pra ficar tópico em separado.
O que vai acabar sendo falado sobre ela: endereço da Fazenda, serviço da Fazenda, montagem de XML, instalação de certificado.
À primeira vista, isso é assunto comum pra todos que emitem NFE/CTE/MDFE.

Às vezes penso que um tópico "NFE/CTE/MDFE e relacionados" seria mais interessante.
Tudo bem que legislação causa mudanças, mas de uns tempos pra cá, estamos tratando mais de detalhes técnicos do que de legislação.
Está ficando sem lugar certo, pra tratar do mesmo assunto.
E mesmo usando soluções diferentes, acaba tudo sendo sobre o mesmo assunto, e o mesmo tipo de problema.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Pra quem ainda não resolveu NFE/CTE/MDFE

Mensagempor JoséQuintas » 11 Nov 2016 20:26

Só pra finalizar:

Ao mostrar como a classe funciona, estou mostrando como a FAZENDA funciona.
É pegar um texto, enviar e pegar resposta.
O resto, é escolher strings de acordo com o que quiser fazer.
Somar strings, escolher strings, é algo comum pra todo mundo.

A partir do momento que começarem a entender isso, vai começar a facilitar tudo.
Não é nada do outro mundo, é tudo coisa básica.

Quais os únicos pontos chave:

- Assinar XML
- Comunicação SOAP

A necessidade de alguma coisa extra em Clipper, por exemplo, é porque no Clipper não dá nem pra assinar, e nem pra fazer comunicação SOAP.
Nas outras linguagens de programação, se elas tem assinatura e SOAP, não precisa de mais nada.
A partir daí, vai de cada um, pode usar um componente pronto pra facilitar o trabalho, mas não porque é obrigado a usar.

Em 2008 eu não estava entendendo nada de NFE, meu cliente foi o primeiro da lista, pensei até em desistir de programação...
Fui enxergando o que estava na frente do nariz, e acabei aprendendo um pouquinho.... rs
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18014
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Anterior



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 31 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro