Utilizo Harbour 3.4, faço testes com Harbour 3.4.
Só tenho clientes em São Paulo, então só consigo fazer testes em São Paulo.
Mas tem usuário em AC, MG, RO, etc. usando normalmente.
Primeiro passo: compilar a sefazclass
Se a máquina está compilando normalmente com Harbour, é baixar e compilar.
hbmk2 sefazclass.hbp
Pra usar, até pode passar tudo numa linha só, mas acho mais interessante passar uma parte de cada vez.
Código: Selecionar todos
oSefaz := SefazClass():New()
Vai usar num estado/UF que pode não ser São Paulo, ou ambiente homologação, e vai usar seu certificado.
Então isso aumenta um pouquinho.
Código: Selecionar todos
oSefaz := SefazClass():New()
oSefaz:cUF := "MG" // se não for SP
oSefaz:cAmbiente := "2" // se não for produção
oSefaz:cCertificado := "nome do certificado e não serial"
O programa de teste na pasta \tests tem muitas das opções, cada um é pra uma coisa diferente.
No caso do XML de NFE, CTE, MDFE, NFCE pra AUTORIZAÇÃO, seu aplicativo vai criar o XML.
Para outras coisas, a própria Sefaz já cria.
O mais fácil: consultar status do serviço, pode ser NFE, CTE, MDFE....
Código: Selecionar todos
oSefaz := SefazClass():New()
oSefaz:cUF := "MG" // se não for SP
oSefaz:cAmbiente := "2" // se não for produção
oSefaz:cCertificado := "nome do certificado e não serial"
cNFE := oSefaz:CTEStatusServico()
cMDFE := oSefaz:MDFeStatusServico()
cNFe := oSefaz:NfeStatusServico()
Como auxílio, ou pra conferência/checagem, dá pra usar algumas variáveis da sefazclass
Código: Selecionar todos
? oSefaz:cMotivo
? oSefaz:cStatus
? oSefaz:cRecibo
? oSefaz:cXmlRecibo
? oSefaz:cXmlProtocolo
? oSefaz:cXmlAutorizado
? oSefaz:cXmlRetorno
Precisa:
Instalar e registrar capicom.dll da Microsoft
instalar e registrar msxml5.dll da Microsoft
instalar o certificado válido pra nfe/cte/mdfe

