NFS-e site EL

Fórum sobre desenvolvimento de software para atender as exigências da legislação fiscal e tributária (NFe, NFCe, NFSe, SPEED, Projeto ACBr, TEF, ECD, EFD, etc.)

Moderador: Moderadores

Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

NFS-e site EL

Mensagem por Itamar M. Lins Jr. »

Ola!
Alguém já desenvolveu esse serviço usando o Harbour ?
Estou estudando como funciona o confecção e envio da NFS-e.
http://www.el.com.br/nfse/xsd/el-nfse.xsd
Essa empresa presta serviços p/ diversas prefeituras.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

NFS-e site EL

Mensagem por Toledo »

Olá Itamar, eu comecei a adaptar o hbNFe para emissão de NFSe, mas acabou surgindo um serviço mais urgente e tive que parar. O layout que estou fazendo é para a FIORILLI, que tem o padrão da ABRASF.

Se tudo der certo, a semana que vem vou retornar esta adaptação do hbNFe e provavelmente já fazendo alguns testes.

Então, assim que tiver alguma coisa pronta e testada, eu disponibilizo na seção do projeto hbNFe.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

NFS-e site EL

Mensagem por Itamar M. Lins Jr. »

Ok!
Então, o servidor da EL disponibiliza 2 arquivos um XML e um XSD, (el-nfse.xml,el-nfse.xsd)
Como entender o procedimento ? Estive olhando algumas coisas mas confesso que não sei ainda o pulo do gato.
O DOM é para criar e validar (verificar erros no XML ?) essas coisas que eu não entendi direito estou lendo o que posso.
Quando usamos o OLE a validação é apenas uma verificação de sintaxe ou o arquivo é verificado fora em algum servidor ?
Onde eu acho os endereços p/ colocar digo os endereços que recebem o XML e a AÇÃO
Em outro fonte tem isso:

Código: Selecionar todos

cWebservice := ""
cSoapAction := ""
cOperation  := ""
Estão em qual documento essas informações ?
Pelo pouco que sei, vejo que são apenas informações e que é muito fácil trabalhar com o Harbour. Porém ainda me falta a total visualização de como a "coisa" funciona, por isso ainda continuo usando o ACBR, fui olhar nos fontes do ACBR e percebi que é apenas um monte de strigA+stringB...
Trecho em Object pascal do acbrnfse p/ EL

Código: Selecionar todos

function TProvedorEL.GeraEnvelopeRecepcionarLoteRPS(URLNS: String;
  CabMsg, DadosMsg, DadosSenha: AnsiString): AnsiString;
begin
     result := '<?xml version="1.0" encoding="UTF-8"?>' +
               '<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" ' +
                           'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ' +
                           'xmlns:xsd="http://www.w3.org/2001/XMLSchema">' +
                '<S:Body>' +
                 '<RecepcionarLoteRpsRequest xmlns="' + URLNS + '/">' +
                  '<inputXML>' +
                    StringReplace(StringReplace(DadosMsg, '<', '<', [rfReplaceAll]), '>', '>', [rfReplaceAll]) +
                  '</inputXML>' +
                 '</RecepcionarLoteRpsRequest>' +
                '</S:Body>' +
               '</S:Envelope>';
end;
E até no ACBr essas informações estão escondidas porque eu procurei p/ baixar algum exemplo de como montar o XML os dados da NFse e não achei digo o leiaute do arquivo INI que o ACBr irá ler e enviar p/ as prefeituras...

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

NFS-e site EL

Mensagem por Toledo »

Itamar M. Lins Jr. escreveu:Então, o servidor da EL disponibiliza 2 arquivos um XML e um XSD, (el-nfse.xml,el-nfse.xsd)
Itamar, o arquivo el-nfse.xml é um modelo de como criar o xML de lotes das NFSe que serão emitidas. Já o el-nfse.xsd é o schema para validação das tags do xML.
Itamar M. Lins Jr. escreveu:Onde eu acho os endereços p/ colocar digo os endereços que recebem o XML e a AÇÃO
Você teria que consultar a prefeitura para saber o endereço do webservice, no caso ai de Ilheus o endereço de homologação (TESTES) é este: http://nfse00.el.com.br:19080/nfse_ba_i ... rvice?wsdl
Itamar M. Lins Jr. escreveu:Trecho em Object pascal do acbrnfse p/ EL
Muito estranho este layout e também o uso deste "RecepcionarLoteRpsRequest", apesar que no Manual Integração.doc (que pode ser copiado neste link) falar alguma coisa sobre esta ação (página 8 do manual), mas no webservice esta ação não existe (pelo menos na consulta do webservice de Ilheus ela não foi listada). Para envio do lote de RPS, no webservice tem a ação "EnviarLoteRpsEnvio" (página 10 do manual).

Segue em anexo modelos dos xML de SOAP (Envelope):
nfse_modelosxml_el.zip
(7.26 KiB) Baixado 106 vezes
Na página 10 do manual de integração, consta as ações que podem ser usadas para fazer o envio do lote de NFSe (RPS), que pelo que observei, tem que ser neste sequência:

- autenticarContribuinte
- enviarLoteRpsEnvio
- consultarLoteRpsEnvio
- finalizarSessao

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

NFS-e site EL

Mensagem por Itamar M. Lins Jr. »

Segue em anexo modelos dos xML de SOAP (Envelope):
Onde estão esses modelos ?
Se, foi vc que os criou usou quais informações ?
Aumentou mais ainda, as perguntas rssrs...
Já o el-nfse.xsd é o schema para validação das tags do xML.
Como é que usamos ele para validar ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

NFS-e site EL

Mensagem por Toledo »

Itamar M. Lins Jr. escreveu:Onde estão esses modelos ?
Se, foi vc que os criou usou quais informações ?
Eu uso o programa SoapUI para pegar os modelos de xML.
Itamar M. Lins Jr. escreveu:Como é que usamos ele para validar ?
Veja o arquivo hbNFeValida.prg do projeto hbNFe, que mostra como usar arquivo xsd para validar um xML.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

NFS-e site EL

Mensagem por Itamar M. Lins Jr. »

Ola!
Se eu entendi direito aqui, lendo os fontes da hbnfe, então não é uma comparação de um pelo outro.
Tipo eu verifico se o arquivo.XML é válido usando o arquivo.XSD

Código: Selecionar todos

oDOMDoc := win_oleCreateObject( _MSXML2_DOMDocument )
até aqui tudo bem, mas não é como eu pensava ele pode ser válido porém ter TAGs que podem não ter nada a ver com o serviço SOAP ou com o XSD em questão.
Eu pensava que eu iria fazer uma verificação do XML através do XSD. E pelo que entendi são apenas verificações separadas, que não ajudam muito ao programador.
No caso eu posso errar, <TagA></TagA> e essa tag não ter nada a ver com o XSD e será validado ok, e quando enviar não irá funcionar.

É isso mesmo produção ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

NFS-e site EL

Mensagem por Itamar M. Lins Jr. »

Toledo ou alguém, poderia fazer um exemplo de listar serviços ou outro bem simples ?
Eu acredito que é esse XML.

Código: Selecionar todos

cTxt := '<?xml version="1.0" encoding="UTF-8"?>'+hb_eol()
cTxt += '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:el="http://des36.el.com.br:8080/el-issonline/">'
cTxt += '<soapenv:Header/>'
ctxt += '   <soapenv:Body>'
ctxt += '      <el:ListarServicosMunicipais>'
ctxt += '         <!--Optional:-->'
cTxt += '         <identificacaoPrefeitura>2913606</identificacaoPrefeitura>'
cTxt += '      </el:ListarServicosMunicipais>'
cTxt += '   </soapenv:Body>'
cTxt += '</soapenv:Envelope>'
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

NFS-e site EL

Mensagem por Toledo »

Itamar M. Lins Jr. escreveu:mas não é como eu pensava ele pode ser válido porém ter TAGs que podem não ter nada a ver com o serviço SOAP ou com o XSD em questão.
O XSD só vai servir para validar as TAGs do xML da NFSe, mas os xML do envio do SOAP não. Então a validação usando o schema pelo XSD, vai verificar se as TAGs estão com o conteúdo correto, e em alguns casos até fazer uma restrição do seu conteúdo.

Por exemplo:
<xsd:simpleType name="tsStatus">
<xsd:restriction base="xsd:byte">
<xsd:pattern value="1|2|3|4"/>
</xsd:restriction>
</xsd:simpleType>
A Tag "tsStatus" tem que ter um número inteiro (xsd:byte) com restrição apenas para 1/2/3 ou 4.
Itamar M. Lins Jr. escreveu:No caso eu posso errar, <TagA></TagA> e essa tag não ter nada a ver com o XSD e será validado ok, e quando enviar não irá funcionar.
Sim, isto pode ocorrer, então neste caso é importante verificar a rotina que vai criar o arquivo xML da NFSe.
Itamar M. Lins Jr. escreveu:poderia fazer um exemplo de listar serviços ou outro bem simples ?
Eu acredito que é esse XML.
Sim, o xML é este mesmo, mas de acordo com o Manual de Integração, é necessário um CNPJ para testes:
PROCEDIMENTOS DE TESTE
Para que sejam feitos testes de importação de Lotes não é necessário o acesso a endereços de homologação, nós disponibilizamos para tal um CNPJ de um Contribuinte de Testes, que pode ser solicitado ao devido responsável do município em questão.
Tentei usando <identificacaoPrefeitura>2913606</identificacaoPrefeitura>, mas não deu retorno nenhum.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Responder