Sugiro como ponto de partida a minha classe.
Manual?
Do ponto de vista de programação:
A declaração de variáveis de uma classe já mostra variáveis disponíveis e conteúdo padrão.
Os nomes são auto-explicativos
VAR cAmbiente INIT WSPRODUCAO
VAR cVersao INIT "3.10" // Versão NFE
VAR cScan INIT "N"
VAR cUF INIT "SP"
VAR cCertificado INIT ""
VAR cXmlDados INIT ""
VAR cXmlRetorno INIT "Erro Desconhecido"
Isso já diz tudo que pode ser usado, não que seja obrigatório usar.
Os métodos disponíveis já mostram os parâmetros necessários.
METHOD NFeConsulta( cChave, cCertificado, cAmbiente ) CLASS SefazClass
Ou seja, pra consultar uma nota precisa chave, certificado e ambiente, sendo que se não for informado, será utilizado o padrão da classe, ou o que for configurado anteriormente.
Então pra consultar uma nota, o mínimo necessário é:
? SefazClass():NfeConsulta( "351011111", "nome certificado", )
O mesmo para
METHOD CTeConsulta( cChave, cCertificado, cAmbiente )
METHOD MDFeConsulta( cChave, cCertificado, cAmbiente )
Arquivos temporários: NENHUM
Entrada. oSefaz:NfeConsulta( ... ) já está passando parâmetros e fazendo a comunicação, temporário pra que?
Retorno: oSefaz:cXmlRetorno já contém o retorno. temporário pra que?
Se quiser configurar antes, e provavelmente vai ser a forma mais adequada a outras situações:
oSefaz := SefazClass():New() // como se faz com qualquer classe, cria-se instância da classe
oSefaz:cCertificado := "nome do certificado" // a variável definida na classe pra certificado
oSefaz:NfeConsulta( cChave ) // para consulta NFE... só poderia ser o NfeConsulta()
? oSefaz:cXmlRetorno // o retorno
Porque é importante este ponto de partida?
- Mostra que qualquer configuração pode ser feita no próprio aplicativo - e não vai ter muito o que configurar
- Mostra que arquivo temporário, só se alguém quiser, e do jeito que quiser
- Mostra que dá pra deixar de um jeito que atende a todos
- Mostra que deixar compatível com ACBR é só complicar o que não precisa
- O resultado vai ser apagar muitos fontes da hbnfe, talvez 80% do que existe hoje ou mais - por isso deixar junto não deu certo. é incluir muitos fontes que não serão utilizados, e atrapalha quem quer entender
É começar a usar e relatar o resultado, como venho dizendo há tempos